一般情况下,我们项目构建的镜像统一会推送至私有仓库,那么这里大家可以参考阿里云的私有仓库搭建教程。那么我们可以通过以下步骤拉取:
1.推送及拉取镜像
1.1. 登录阿里云Docker Registry
$ sudo docker login --username=[用户名] registry.cn-qingdao.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在产品控制台首页修改登录密码。
1.2. 从Registry中拉取镜像
$ sudo docker pull registry.cn-qingdao.aliyuncs.com/xxxx/test:[镜像版本号]
1.3. 将镜像推送到Registry
$ sudo docker login --username=xxx registry.cn-qingdao.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-qingdao.aliyuncs.com/niechen/test:[镜像版本号]
$ sudo docker push registry.cn-qingdao.aliyuncs.com/niechen/test:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
2. k8s拉取阿里云的私有镜像
2.1、 保存用户名与密码
kubectl create secret docker-registry registry-secret --docker-server=registry.cn-shenzhen.aliyuncs.com --docker-username=user-test --docker-password=xxxxxx [email protected] -n default
--docker-server: 仓库地址
--docker-username: 仓库登陆账号
--docker-password: 仓库登陆密码
--docker-email: 邮件地址(选填)
-n 命名空间
此时我们运行kubectl describe secret
可以看到详细的secret信息
2.2 、更改配置
在对应的rc或者deployment更改如下的配置:
spec:
serviceAccountName: test
imagePullSecrets:
- name: registry-secret
containers:
- name: test
image: registry.cn-shenzhen.aliyuncs.com/xxxx/test:latest
在 spec.imagePullSecrets[0].name
里指定刚才创建的secret
原文地址:https://www.cnblogs.com/niechen/p/10364481.html
时间: 2024-11-02 21:49:46