콘텐츠로 이동

Kubernetes 클러스터에서 ExternalName을 사용하여 DataKit 서비스 매핑


개요

Kubernetes 클러스터에서 DaemonSet 방식으로 DataKit을 배포한 후, 특정 애플리케이션이 이전에 istio-system 네임스페이스의 zipkin 서비스로 트레이스 데이터를 전송하고 있었고, 포트는 9411이었습니다. 즉, 접속 주소는 zipkin.istio-system.svc.cluster.local:9411입니다.

푸시 주소를 변경하지 않으려면 어떻게 해야 할까요? 이때는 Kubernetes의 ExternalName 서비스 유형을 사용해야 합니다. 다음 두 단계를 통해 애플리케이션이 DataKit과 연결될 수 있습니다.

  • 먼저, ClusterIP 서비스 유형을 정의하여 9529 포트를 9411 포트로 변환합니다.

  • 그런 다음, ExternalName 서비스를 사용하여 ClusterIP 서비스를 DNS 이름으로 매핑합니다.

1 ClusterIP 서비스 정의

apiVersion: v1
kind: Service
metadata:
  name: datakit-service-ext
  namespace: datakit
spec:
  selector:
    app: daemonset-datakit
  ports:
    - protocol: TCP
      port: 9411
      targetPort: 9529

배포가 완료되면 클러스터 내부의 컨테이너에서 datakit-service-ext.datakit.svc.cluster.local:9411을 사용하여 DataKit의 9529 포트에 접근할 수 있습니다.

2 ExternalName 서비스 정의

apiVersion: v1
kind: Service
metadata:
  name: zipkin
  namespace: istio-system
spec:
  type: ExternalName
  externalName: datakit-service-ext.datakit.svc.cluster.local

배포가 완료되면 클러스터 내부의 컨테이너에서 zipkin.istio-system.svc.cluster.local:9411을 사용하여 DataKit으로 데이터를 푸시할 수 있습니다.

1647908754(1).png

문서 평가

이 페이지가 도움이 되었나요?