スキップしてコンテンツを表示

クラスターで EKS Pod Identity を有効化する際に発生する、「Unable to fetch credentials」というエラーのトラブルシューティング方法を教えてください。

所要時間1分
0

Amazon Elastic Kubernetes Service (Amazon EKS) クラスターで EKS Pod Identity を使おうとしたところ、「Unable to fetch credentials」というエラーが発生します。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Amazon EKS クラスターで EKS Pod Identity を有効化する際に、次のいずれかのエラーが発生する場合があります。

  • 「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」 コンテナメタデータの取得時にエラーが発生しました。エンドポイント 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」 (認証情報をキャッシュに取得中にエラーが発生しました。EKS Auth から認証情報を取得できません)

これらのエラーをトラブルシューティングするには、次の手順を実行します。

  • eks-pod-identity-agent ポッドからログを取得するには、次のコマンドを実行します。

    kubectl logs -f eks-pod-identity-agent -n kube-system
  • プライベートクラスターを使用している場合は、AWS PrivateLink で eks-auth エンドポイントを許可していることを確認してください。

  • ロール設定を確認するには、アプリケーションポッドのシェルを開き、次の AWS CLI コマンド get-caller-identity を実行します。

    aws sts get-caller-identity
  • ファイアウォールが eks-auth エンドポイントをブロックしていないことを確認します。

  • プロキシ構成を使用する場合は、次のコマンドを実行し、EKS Pod Identity エージェント https_proxy が設定されていることを確認します。

    kubectl set env ds/eks-pod-identity-agent https_proxy="PROXY-URL" -n kube-system
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ