对于公司内部的项目, 我们不可能使用公有开放的镜像仓库, 一般会在自己的服务器上搭建私有仓库。这时候就需要在 Kubernetes 中拉取私人镜像仓库的镜像。

生成密钥

1
kubectl create secret docker-registry regsecret --docker-server={$Server} --docker-username={$Email} --docker-password={$Password} --docker-email={$Email}

参数解释:

  • regsecret: 密钥键名,可自行定义
  • –docker-server:docker 仓库地址
  • –docker-username:docker 仓库账号
  • –docker-password:docker 仓库密码
  • –docker-email:邮件地址(选填)

注:密钥只能在对应 namespace 使用,指定 namespace 使用 -n 参数。

在配置文件中加入密钥

修改 yml 配置文件:

1
2
3
4
5
6
spec:
containers:
- image: {$ImageUrl}
imagePullPolicy: Always
imagePullSecrets:
- name: regsecret

大功告成!

参考资料