배경
gRPC 테스트 툴 중 gRPCui 에 대해 정리한다.
내용
gRPC 의 경우 HTTP/2 기반으로 만들어진 프로토콜이다.
gRPC 을 처음 접하다보면 당황할 수 있는데, 바로 기존 HTTP/HTTPS 와 같은 웹 브라우저 호출이 되지 않는다.
보안적인 부분에서도 더 강화된 프로토콜이기 때문에 웹 브라우저 호출을 지원하지 않고 있지만,
테스트 적인 부분에서는 불편한 점이 사실이다.
환경
GO 로 개발된 애플리케이션이 있고, MSA 로 서비스되고 있다고 가정한다.
서비스간 통신은 gRPC 로 통신이 되고 있다.
gPRC 는 .proto 타입으로 구성되며 대표적인 테스트 툴은 gRPCurl gRPCui 가 있다.
사전 작업
gRPCurl gRPCui 를 사용하려면 gRPC 리플렉션 설정이 필요한데, 이건 개발 소스 코드상에 적용 되어야 한다.
참고 링크
gRPCui 구성
gRPCui 를 구성하기 위해서 테스트한 코드는 아래와 같다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: grpcox
namespace: devops
spec:
replicas: 1
selector:
matchLabels:
app: grpcox
template:
metadata:
labels:
app: grpcox
spec:
containers:
- name: grpcox
image: xxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/seoul:test
ports:
- containerPort: 6969
# volumeMounts:
# - name: log-volume
# mountPath: /log
# volumes:
# - name: log-volume
# emptyDir: {}
Shell
복사
apiVersion: v1
kind: Service
metadata:
name: grpcox
namespace: devops
spec:
type: ClusterIP
ports:
- port: 6969
targetPort: 6969
selector:
app: grpcox
Shell
복사
구성 후 웹 브라우저로 접속 할 수 있으며, gRPC 호출을 할 수 있다.