istioインストールで発生した問題

4411 ワード

istioインストールで発生した問題
問題の説明
helmでインストールしたistio-1.4.0(beta 5)を使って、再インストールする時にhelm install install/kubernetes/helm/istio --name istio --namespace istio-systemを使って、次のようなエラーが発生します.
Error: release istio failed: Internal error occurred: failed calling webhook "pilot.validation.istio.io": Post https://istio-galley.istio-system.svc:443/admitpilot?timeout=30s: no endpoints available for service "istio-galley"
istio状態が正常であることを確認して、自動注入kubectl label namespace default istio-injection=enabledを起動して、podを作成した時、効果がないことを発見しました.
問題を探す
まず、istio-sidecar-injectorのコンポーネントに問題がありました.イベントを調べても異常がありません.ログを調べます.
kubectl logs -f -n istio-system istio-sidecar-injector-68fbf6459f-9rpd9

2019-11-14T07:52:11.734158Z	error	Patch webhook failed: mutatingwebhookconfigurations.admissionregistration.k8s.io "istio-sidecar-injector" not found
2019-11-14T07:52:12.742080Z	error	Patch webhook failed: mutatingwebhookconfigurations.admissionregistration.k8s.io "istio-sidecar-injector" not found
2019-11-14T07:52:13.755680Z	error	Patch webhook failed: mutatingwebhookconfigurations.admissionregistration.k8s.io "istio-sidecar-injector" not found
……
ヒントに従ってkubectl get mutatingwebhookconfigurationsを調べても、何の問題も見つけられませんでした.
解決策
isess 1762を照会することにより、キー情報が発見され、Validating Webhook Configrationの削除動作が実行される.
kubectl delete ValidatingWebhookConfiguration istio-galley
その後、helmを使ってistioを削除し、再インストールしてから次の情報を印刷します.
==> v1beta1/PodDisruptionBudget
NAME                    MIN AVAILABLE  MAX UNAVAILABLE  ALLOWED DISRUPTIONS  AGE
istio-citadel           1              N/A              0                    11s
istio-galley            1              N/A              0                    11s
istio-ingressgateway    1              N/A              0                    11s
istio-pilot             1              N/A              0                    11s
istio-policy            1              N/A              0                    11s
istio-sidecar-injector  1              N/A              0                    11s
istio-telemetry         1              N/A              0                    11s

==> v2beta1/HorizontalPodAutoscaler
NAME                  REFERENCE                        TARGETS        MINPODS  MAXPODS  REPLICAS  AGE
istio-ingressgateway  Deployment/istio-ingressgateway  <unknown>/80%  1        5        0         10s
istio-pilot           Deployment/istio-pilot           <unknown>/80%  1        5        0         10s
istio-policy          Deployment/istio-policy          <unknown>/80%  1        5        0         10s
istio-telemetry       Deployment/istio-telemetry       <unknown>/80%  1        5        0         10s


NOTES:
Thank you for installing Istio.

Your release is named Istio.

To get started running application with Istio, execute the following steps:
1. Label namespace that application object will be deployed to by the following command (take default namespace as an example)

$ kubectl label namespace default istio-injection=enabled
$ kubectl get namespace -L istio-injection

2. Deploy your applications

$ kubectl apply -f <your-application>.yaml

For more information on running Istio, visit:
https://istio.io/
自動注入をオンにして、podを作成し、問題解決に成功しました.