Ich möchte, dass meine Amazon Elastic Kubernetes Service (Amazon EKS)-Cluster EKS Pod Identity verwenden. Ich erhalte jedoch die Fehlermeldung „Unable to fetch credentials" error“.
Behebung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.
Wenn du versuchst, EKS Pod Identity auf deinen Amazon EKS-Clustern zu aktivieren, wird möglicherweise eine der folgenden Fehlermeldungen angezeigt:
- „Error when retrieving credentials from container-role: Error retrieving metadata: Received error when attempting to retrieve container metadata: Read timeout on endpoint URL: http://169.254.170.23/v1/credentials“
- „Unable to fetch credentials: error getting credentials to cache: unable to fetch credentials from EKS Auth: operation error EKS Auth“
Gehe wie folgt vor, um diese Fehler zu beheben:
-
Führe den folgenden Befehl aus, um die Protokolle aus dem Pod eks-pod-identity-agent abzurufen:
kubectl logs -f eks-pod-identity-agent -n kube-system
-
Wenn du einen privaten Cluster hast, stelle sicher, dass du den eks-auth-Endpunkt in AWS PrivateLink zulässt.
-
Um deine Rolleneinstellungen zu überprüfen, öffne die Shell des Anwendungs-Pods und führe dann den folgenden AWS-CLI-Befehl get-caller-identity aus:
aws sts get-caller-identity
-
Vergewissere dich, dass eine Firewall den eks-auth-Endpunkt nicht blockiert.
-
Wenn du Proxykonfigurationen verwendest, führe den folgenden Befehl aus, um zu bestätigen, dass du den EKS Pod Identity Agent https_proxy konfiguriert hast:
kubectl set env ds/eks-pod-identity-agent https_proxy="PROXY-URL" -n kube-system