Kubernetes v1.7.6 AWS ECR"需要身份验证"

时间:2017-09-19 20:50:17

标签: amazon-web-services docker kubernetes

我有一个全新的Kubernetes v1.7.6主控制器。

节点能够加入,标记为从使用公共容器存储库的部署接收pod的节点工作正常(即Prometheus等)。

我的API服务和控制器服务都是用--cloud-provider = aws启动的,不过我在#kubernetes slack频道上被告知我不需要在kubelet的systemd单元中设置它事实上,这将导致kubelet不运行。这也是我的经验所以它没有在那里配置(与Kubernetes文档相反,我相信v1.7.6没有更新)。

我的AWS节点是使用具有以下权限的IAM角色启动的:

DescribeRepositories ListImages BatchCheckLayerAvailability BatchGetImage DescribeImages GetAuthorizationToken GetDownloadUrlForLayer GetRepositoryPolicy

同样的IAM角色与我以前的Kubernetes v1.6.3主控制器一起运行良好。

在使用kubectl描述pod时我看到的错误是:

无法提取图像":" :rpc错误:代码= 2 desc =未授权:需要身份验证

我节点上的

uname -a是:

Linux ip-X-X-X-X 4.4.0-1022-aws#31-Ubuntu SMP Tue Jun 27 11:27:55 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

主控制器上的

uname -a是:

Linux ip-X-X-X-X 4.4.0-96-generic#119-Ubuntu SMP Tue Sep 12 14:59:54 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

IAM政策JSON(根据Thomas Khalil的要求):

{     "版本":" 2012-10-17",     "陈述":[         {             "效果":"允许",             "行动":[                 " ECR:GetAuthorizationToken&#34 ;,                 " ECR:BatchCheckLayerAvailability&#34 ;,                 " ECR:GetDownloadUrlForLayer&#34 ;,                 " ECR:GetRepositoryPolicy&#34 ;,                 " ECR:DescribeRepositories&#34 ;,                 " ECR:ListImages&#34 ;,                 " ECR:DescribeImages&#34 ;,                 " ECR:BatchGetImage"             ]             "资源":" *"         }     ] }

我完全不知道接下来要做什么。非常感谢任何帮助。

0 个答案:

没有答案