gpt4 book ai didi

amazon-web-services - 如何在启用 MFA 的情况下将 Docker 镜像从 AWS ECR 拉取到 Minikube Kubernetes 集群

转载 作者:行者123 更新时间:2023-12-03 08:10:00 30 4
gpt4 key购买 nike

我在 AWS ECR 中有一个 docker 镜像,该镜像位于我的辅助帐户中。我想使用启用了 MFA 的 AWS IAM 角色 ARN 将该镜像拉取到 Minikube Kubernetes 集群。因此,我的部署在拉取镜像时失败。

我启用了registry-creds插件来访问ECR图像,但没有成功。

我是否可以知道使用 AWS 账户 A 的凭证通过启用了 MFA 的 AWS IAM 角色 ARN 访问 AWS 账户 B 的 AWS ECR 的任何其他方法?

例如,我提供了这样的详细信息

  • 输入 AWS 访问 key ID:账户 A 的访问 key
  • 输入 AWS secret 访问 key :账户 A 的 secret key
  • (可选)输入 AWS session token :
  • 输入 AWS 区域:us-west-2
  • 输入 12 位 AWS 账户 ID(逗号分隔列表):[AccountA, AccountB]
  • (可选)输入要代入的 AWS 角色的 ARN:<AccountB 的 role_arn>

错误消息:警告失败 2 秒(超过 42 秒 x3)kubelet 无法拉取镜像“XXXXXXX.dkr.ecr.ca-central-1.amazonaws.com/sample-dev:latest”:rpc 错误:代码 = 未知 desc = 错误响应来自守护进程:头“https://XXXXXXX.dkr.ecr.ca-central-1.amazonaws.com/v2/sample-dev/manifests/latest”:没有基本身份验证凭据

警告失败 2 秒(42 秒内 x3)kubelet 错误:ErrImagePull

最佳答案

虽然 @DavidMaze 展示的基于 minikube addons 的解决方案可能更干净并且通常更可取,但我无法让它工作。

相反,我found out可以为 pod 的服务帐户提供本地 home 中 docker 登录 token 的副本。如果您尚未设置服务帐户,则为默认:

# Log in with aws ecr get-login or however
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=$HOME/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regcred"}]}'

这在绑定(bind)中可以正常工作。

关于amazon-web-services - 如何在启用 MFA 的情况下将 Docker 镜像从 AWS ECR 拉取到 Minikube Kubernetes 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71109959/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com