使用阿里云镜像服务作为microk8s的镜像仓库

  本文将通过修改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

你可能感兴趣的:(使用阿里云镜像服务作为microk8s的镜像仓库)