CRI-O 从 AWS ECR 提取镜像:提取镜像失败,需要身份验证

CRI-O 从 AWS ECR 提取镜像:提取镜像失败,需要身份验证

无法从使用 CRI-O 作为容器运行时接口的 Kubernetes 中从 AWS ECR 中提取映像,并出现以下错误。

Failed to pull image "<aws_account_id>.dkr.ecr.<region-name>.amazonaws.com/<image>": reading manifest <version> in <aws_account_id>.dkr.ecr.<region-name>.amazonaws.com/<image>: authentication required

答案1

您需要安装 Skopeo 并运行以下命令。确保将区域替换为存储 ECR 映像的区域。

skopeo login -u AWS -p $(/usr/local/bin/aws ecr get-login-password --region <AWS Region>) $(/usr/local/bin/aws sts get-caller-identity --query Account --output text).dkr.ecr.<AWS Region>.amazonaws.com

我建议将其转变为 CRON 作业并每 11 小时运行一次,因为令牌在 12 小时后过期。

相关内容