환경에 Istio와 Kubernetes 통합이 모두 설치되어 활성화되어 있는 경우 문제가 발생할 수 있습니다. 이 페이지에서는 Kubernetes 통합이 설치될 때 Istio에서 발생하는 이러한 문제에 대해 설명합니다.
Istio 클러스터의 xds_grpc 지표
문제
클러스터에서 Istio가 활성화되면 Istio 배포 Envoy 프록시에는 Prometheus 측정항목을 노출하는 Prometheus 측정항목 엔드포인트가 있습니다.
이러한 측정항목은 전용 cluster_name
과 xds-grpc
로 연결됩니다. 또한 New Relic Kubernetes 통합에서 Prometheus 에이전트를 활성화하면 에이전트는 global.cluster
를 통해 정의된 cluster_name
가 있는 메트릭 외에도 cluster_name
가 xds_grpc
인 이러한 Envoy 관련 메트릭을 수집합니다.
해결책
다음 쿼리를 실행하여 Envoy 프록시 측정항목의 전체 목록을 가져옵니다.
FROM `Metric`SELECT uniques(metricName)WHERE cluster_name = 'xds-grpc' SINCE 1 week ago
메타데이터 삽입 포드에 대해 Istio 비활성화
문제
Istio가 newrelic
네임스페이스에서 활성화되면 잠재적으로 해당 네임스페이스 내에 있는 New Relic Kubernetes 통합 포드에 문제가 발생할 수 있습니다. 이러한 문제는 포드가 전혀 생성되지 않을 정도로 심각할 수 있습니다.
이러한 문제의 예는 Kubernetes 통합 설치 중에 발생할 수 있습니다. 이 오류 메시지가 표시되는 경우:
$W0518 02:00:14.984463 1 client_config.go:615] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.${"err":"secrets \"newrelic-bundle-nri-metadata-injection-admission\" not found","level":"info","msg":"no secret found","source":"k8s/k8s.go:229","time":"2023-05-18T02:00:15Z"} {"level":"info","msg":"creating new secret","source":"cmd/create.go:28","time":"2023-05-18T02:00:15Z"} ...
이는 Istio가 newrelic
네임스페이스에서 활성화될 수 있음을 나타냅니다. 이 경우 newrelic-bundle-nri-metadata-injection-admission-create
작업이 비밀을 성공적으로 생성한 후에 envoy 프록시가 종료되지 않습니다. 결과적으로 Kubernetes 작업이 진행 중 중단되고 완료되지 않습니다.
해결책
newrelic 라벨스페이스 내 nri-metadata-injection
파드에 대한 Istio 사이드카를 비활성화하는 것이 좋습니다. 이를 달성하려면 nri-bundle
을 설치할 때 helm
명령에 --set-string nri-metadata-injection.labels."sidecar\.istio\.io/inject"=false
포함하세요.