amazon-web-services - 如何在 Kubernetes Yaml 中对 AWS ECR 进行身份验证
问题描述
我有以下pod.yaml
文件,它简单地描述了 Kubernetes pod 的创建:
apiVersion: v1
kind: Pod
metadata:
name: dotnet-console-producer-poc.pod
labels:
app: helloworld
spec:
containers:
- name: dotnet-console-producer-pod
image: 442285873998.dkr.ecr.us-east-1.amazonaws.com/dotnet-console-producer-benchmark-docker:latest
ports:
- containerPort: 8001
引用的图像位于 AWS ECR ( 442285873998.dkr.ecr.us-east-1.amazonaws.com/dotnet-console-producer-benchmark-docker:latest
) 中。
运行 create resource 命令 ( kubectl create -f pod.yaml
) 时,pod 被创建,但由于无法从 AWS ECR 访问图像而崩溃。Kubernetes 错误如下所示:
Failed to pull image "442285873998.dkr.ecr.us-east-1.amazonaws.com/mcflow-dotnet-console-producer-benchmark-docker:latest": rpc error: code = Unknown desc = Error response from daemon: pull access denied for 442285873998.dkr.ecr.us-east-1.amazonaws.com/mcflow-dotnet-console-producer-benchmark-docker, repository does not exist or may require 'docker login': denied: User: arn:aws:sts::607546651489:assumed-role/nodes.dev.vet-dev.digitalecp.mcd.com/i-055276c817ba7a096 is not authorized to perform: ecr:BatchGetImage on resource: arn:aws:ecr:us-east-1:442285873998:repository/mcflow-dotnet-console-producer-benchmark-docker
我的 Kubernetes 实例在 EC2 实例上运行。如何在 ECR 中进行身份验证,以便 Kubernetes 可以检索图像并在 pod 中运行它?
解决方案
推荐阅读
- matlab - 如何使用 MATLAB 在单个图形中叠加多个图像图形?
- sql - 将缺失的日期插入现有表
- node.js - 构建具有依赖项的 monorepo babel-transpiled 节点 JS 应用程序
- reactjs - React - 获取功能组件中的组件名称
- python - 如何通过 BeautifulSup 的标签选择来下载视频
- c# - 如何使用 Filesystemwatcher 通过默认应用程序打开检测到的文件
- svg - feColorMatrix 的第五列到底代表什么
- r - 添加以每个元素的名称作为值的新列
- r - 如何使用工具变量在 R 中进行 2 阶段逻辑回归
- java - 导航抽屉中的 setText