Search

gRPC 테스트 툴 정리

생성일
2024/08/13 14:21
Category
Devops 엔지니어
태그
Monitoring
gRPC

배경

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 호출을 할 수 있다.