νκ²½μ 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 ν¬ν¨νμΈμ.