Kubernetes 从AWS EKS Autoscaler工作节点中的私有docker注册表中提取图像
我正在为工作节点使用AWS EKS和自动定标器。我有私人的Artifactory docker注册表 现在为了从private registry下载docker图像,我阅读了很多文档,包括kubernetes docs for-how to pull docker image from private docker registry 解决方案中有三个步骤:Kubernetes 从AWS EKS Autoscaler工作节点中的私有docker注册表中提取图像,kubernetes,docker-registry,amazon-eks,Kubernetes,Docker Registry,Amazon Eks,我正在为工作节点使用AWS EKS和自动定标器。我有私人的Artifactory docker注册表 现在为了从private registry下载docker图像,我阅读了很多文档,包括kubernetes docs for-how to pull docker image from private docker registry 解决方案中有三个步骤: 创建包含docker注册表凭据的kubectl机密 在/etc/docker/daemon.json 重新启动docker服务 我已经手
- 创建包含docker注册表凭据的kubectl机密
- 在
/etc/docker/daemon.json
- 重新启动docker服务
“不安全的注册表”:/etc/docker/daemon.json
中没有添加[/privateRegistryAddress:port]
,由于pod调度失败
这里我可以想到两种解决方案-
- 在
中配置AWS EC2 AMI,该AMI包含/etc/docker/daemon.json
默认值,并在自动定标器配置中使用该映像“不安全注册表”:[“privateRegistryAddress:port”]
- 创建具有节点级权限的pod,以编辑所提到的文件并重新启动docker服务-但我怀疑docker服务是否重新启动,那么pod本身是否会停止,以及这是否有效
请告知。谢谢。从我在问题中提到的第一种方法解决了这个问题
- 当然,首先创建
登录到私有注册表kubectl secret
- SSHed进入kubernetes工作节点,并在
中添加/etc/docker/daemon.json
[“privateRegistryAddress:port”]
- 已从该节点创建AMI映像
- 使用新的AMI更新了EC2启动模板,并将新模板版本设置为默认版本
- 使用新的启动模板版本更新了Ec2自动缩放组
- 终止以前的工作节点,并让自动缩放组创建新节点
现在,每当EK使用自动缩放组增加/减少EC2实例时,他们都可以从私有docker注册表下载docker映像。我个人使用不同的方法来提取私有映像。我正在使用secret regcred,然后您在pod或部署规范中指定imagePullSecrets。在@marcincuber中的完整描述感谢您的评论。是的,我明白了,我只遵循相同的文件,创建了秘密并添加到pod中。但它仍然不起作用,我们必须在
/etc/docker/daemon.json
中添加[“privateRegistryAddress:port”]
,然后重新启动docker服务,我不想每次都这样做,因为我的工作节点会保留更改。我在寻找如何实现自动化。