首页 > 解决方案 > 从 AWS EKS Autoscaler 工作程序节点中的私有 Docker 注册表中提取映像

问题描述

我将 AWS EKS 与 Auto Scaler 一起用于工作程序节点。我有私人 Artifactory docker 注册表。

现在为了从私有注册表下载 docker 镜像,我阅读了许多文档,包括 kubernetes 文档 - 如何从私有 docker 注册表中提取 docker 镜像。

解决方案分为三个步骤:

我已经手动 SSH 到工作节点并运行第二步和第三步,这适用于临时但 EKS Auto Scaler 发现如果该工作节点未在使用中然后将其杀死并根据需要创建新节点,在这个新的工作节点"insecure-registries":["privateRegistryAddress:port"]/etc/docker/daemon.json是未添加,并且由于 pod 调度失败。

我可以在这里想到两种解决方案-

请指教。谢谢。

标签: kubernetesdocker-registryamazon-eks

解决方案


从我提到的第一种方法解决了这个问题。

  • 首先当然是kubectl secret为了登录私有注册表而创建的
  • 通过 SSH 连接到 Kubernetes 工作节点并添加["privateRegistryAddress:port"]/etc/docker/daemon.json
  • 从该节点创建 AMI 映像
  • 使用新 AMI 更新 EC2 启动模板并将新模板版本设置为默认值
  • 使用新的启动模板版本更新了 Ec2 Auto Scaling 组
  • 杀死以前的工作节点并让自动伸缩组创建新节点

瞧!:)

现在,每当使用 Auto Scaling 组的 EKS 增加/减少 EC2 实例时,他们将能够从私有 Docker 注册表下载 Docker 映像。


推荐阅读