本文将通过修改pod/deployment的配置属性, 增加 pullImageSecret 来实现自动拉取image
Part A: 通过阿里云账户查看镜像信息
查看镜像的前提,需要有一个阿里云自账户,并有权限访问镜像服务。
A. 使用阿里云子账户登录后,选择 [容器镜像服务]
B. 在镜像仓库里,选择命名空间过滤镜像
c. 点击需要查看的镜像,查看镜像详情
基本信息里,可以查看所有的操作, 通过下面的步骤可以手动的下载镜像。
D. 点击镜像版本,可以当前镜像已经发布的版本,可以用于替换上面命令里的[镜像版本]
到这里,我们就可以获得具体的信息:
镜像仓库地址: registry.cn-beijing.aliyuncs.com
镜像名称及版本号: registry.cn-beijing.aliyuncs.com/remote-medical/storageservice:1.0.0
访问账户: 阿里云的字账户
密码: 需要在镜像服务页面设置
E: 设置镜像服务访问密码
如下图,进行容器镜像服务页面, 点击访问凭证, 点击修改固定密码,完成下载密码的设定
PART B 使用pullImageSecret自动下载镜像
a. 从命令行生成pullImageSecret:
kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password= --docker-email=
b. 修改pod或Deployment文件,使用regcred自动从阿里云镜像仓库下载镜像:
c. 通过 kubectl apply -f 命令更新配置,并通过describe命令查看pod,可以看到成功拉取:
除了以上方法外, 可以参考k8s文档,查看更多的方式: using a private registry
-------------------------------------------------------------------------------------------------------------
Part 3 手动下载
除了以上方法之外,我们可以手动下载并导入k8s镜像
a. 首先 使用下面命令登陆 阿里云私有仓库
sudo docker login registry.cn-beijing.aliyuncs.com
输入用户名、密码 可以看到默认生成验证文件。
b. 使用docker pull 命令下载
sudo docker pull registry.cn-beijing.aliyuncs.com/remote-medical/storageservice:1.0.0
下载下来后, 可以使用docker image ls 查看到新镜像
c. 我们的配置文件使用的镜像名为com.lifeccp/storageservice:1.0.0, 所以需要用docker tag 命令新建一个标签
sudo docker tag [imageID] com.lifeccp/storageservice:1.0.0 //需要注意版本号,否则版本号会为latest
d. 现在我们需要将这个镜像到处为tar包
sudo docker save com.lifeccp/storageservice:1.0.0 >storage.tar
e. 在microk8s中,通过ctr 命令倒入
sudo microk8s ctr image import storage.tar
导入完成后, 可以使用 sudo microk8s ctr image ls 查看新镜像, 查到新镜像后,使用apply -f 命令创建新pod实例
sudo microk8s kubectl apply -f storage-deployment.yaml
网友评论