1.26.4.2. 서비스 메시에 대한 분산 추적 보안 구성

분산 추적 플랫폼은 기본 인증에 OAuth를 사용합니다. 그러나 Red Hat OpenShift Service Mesh는 htpasswd 라는 시크릿을 사용하여 Grafana, Kiali 및 분산 추적 플랫폼과 같은 종속 서비스 간 통신을 용이하게 합니다. ServiceMeshControlPlane 에서 분산 추적 플랫폼을 구성할 때 서비스 메시는 htpasswd 를 사용하도록 보안 설정을 자동으로 구성합니다.

Jaeger 사용자 정의 리소스에서 분산 추적 플랫폼 구성을 지정하는 경우 htpasswd 설정을 수동으로 구성하고 Kiali와 통신할 수 있도록 htpasswd 보안이 Jaeger 인스턴스에 마운트되었는지 확인해야 합니다.

1.26.4.2.1. OpenShift 콘솔에서 서비스 메시에 대한 분산 추적 보안 구성

Jaeger 리소스를 수정하여 OpenShift 콘솔에서 Service Mesh와 함께 사용할 분산 추적 플랫폼 보안을 구성할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 계정이 있어야 합니다.
  • Red Hat OpenShift Service Mesh Operator가 설치되어 있어야 합니다.
  • ServiceMeshControlPlane 이 클러스터에 배포됩니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.

프로세스

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators → 설치된 Operators로 이동합니다.
  3. 프로젝트 메뉴를 클릭하고 목록에서 ServiceMeshControlPlane 리소스가 배포되는 프로젝트를 선택합니다(예: istio-system ).
  4. Red Hat OpenShift distributed tracing platform Operator 를 클릭합니다.
  5. Operator 세부 정보 페이지에서 Jaeger 탭을 클릭합니다.
  6. Jaeger 인스턴스의 이름을 클릭합니다.
  7. Jaeger 세부 정보 페이지에서 YAML 탭을 클릭하여 구성을 수정합니다.
  8. Jaeger 사용자 정의 리소스 파일을 편집하여 다음 예와 같이 htpasswd 구성을 추가합니다.

    • spec.ingress.openshift.htpasswdFile
    • spec.volumes
    • spec.volumeMounts

      htpasswd 구성을 표시하는 Jaeger 리소스의 예

      apiVersion: jaegertracing.io/v1
      kind: Jaeger
      spec:
        ingress:
          enabled: true
          openshift:
            htpasswdFile: /etc/proxy/htpasswd/auth
            sar: '{"namespace": "istio-system", "resource": "pods", "verb": "get"}'
          options: {}
          resources: {}
          security: oauth-proxy
        volumes:
          - name: secret-htpasswd
            secret:
              secretName: htpasswd
          - configMap:
              defaultMode: 420
              items:
                - key: ca-bundle.crt
                  path: tls-ca-bundle.pem
              name: trusted-ca-bundle
              optional: true
            name: trusted-ca-bundle
        volumeMounts:
          - mountPath: /etc/proxy/htpasswd
            name: secret-htpasswd
          - mountPath: /etc/pki/ca-trust/extracted/pem/
            name: trusted-ca-bundle
            readOnly: true

  9. 저장을 클릭합니다.