iManager离线镜像仓库如何导入到私有仓库及使用

前言

   有小伙伴在部署安装 iManager for k8s时需要使用自己的私有镜像仓库,而我们产品是提供有一个离线镜像包一启动就拥有一个离线镜像仓库容器,但由于不同场景需求,有部分客户需要使用自己私有镜像仓库,因此本文的目的就是带着大家将产品提供的离线镜像导入到客户自己的离线镜像仓库中。
  为模拟环境,可利用registry镜像在自己本地创建私有镜像仓库,当然如果是公网也可以使用第三方平台的镜像服务,我这次就以docker.io/library/registry:latest搭建本地私有镜像仓库

一、搭建私有镜像仓库(参考https://blog.csdn.net/weixin_41003771/article/details/118788131)

  1. 执行docker pull registry命令 拉取registry镜像
  2. 创建auth目录,并生成用户名密码文件
    (1) 在opt目录下 创建auth目录
    (2) 首先安装yum -y install httpd
    (3) 执行htpasswd -Bbn test test#123456 > /opt/auth/htpasswd
    在这里插入图片描述
  3. 将对外端口设置为5001,挂载权限文件和镜像,启动镜像仓库容器
    iManager离线镜像仓库如何导入到私有仓库及使用_第1张图片

二、上传本地离线镜像包,同步镜像到创建好的私有镜像仓库中

iManager离线镜像仓库如何导入到私有仓库及使用_第2张图片.

  1. 解压镜像离线包以后,修改sync-auth.yaml 文件(注意,不要修改默认的内容,是新增加内容)
    iManager离线镜像仓库如何导入到私有仓库及使用_第3张图片
  2. 启动离线包的镜像仓库
    在这里插入图片描述
  3. 执行同步命令
    sudo chmod +x sync.sh && sudo ./sync.sh --port 5000 --dest-registry 172.16.14.221:5001 --dest-namespace supermap
    在这里插入图片描述
    在这里插入图片描述
    到这里已经将离线包端口为5000的镜像仓库同步到,自己创建的端口为5001的私有镜像仓库中

三、测试用私有镜像仓库部署iManager for ks(详细的部署参考帮助文档,本文只侧重说明私用镜像仓库的使用方式)

  1. 修改value.yaml
    iManager离线镜像仓库如何导入到私有仓库及使用_第4张图片
    在这里插入图片描述
    myregistrykey为自定义的值,后面会用命令生成一个secret到supermap命名空间下,这样才能使其该命名空间下的资源能拉取到镜像。
  2. 然后执行启动命令
  3. 利用kubctl创建Secret绑定镜像仓库账号
    执行命令完成,已经创建了supermap命名空间以后,马上去执行以下命令在supermap命名空间下创建secret
    在这里插入图片描述kubectl create secret docker-registry <自定义的secret> --docker-server=<私有镜像仓库地址> --docker-username= --docker-password= -n
    注意:命名空间必须要设置,否则命名空间下的deployment无法拉取到镜像,本次我只部署了imanager,用的默认namespace,因此只执行一次。如果创建云套件,还需要在执行一次创建secret的命令,并指定到云套件所在的命名空间上
    最后可以看到imanager for k8s使用的就是私用镜像仓库了
    在这里插入图片描述
    iManager离线镜像仓库如何导入到私有仓库及使用_第5张图片

你可能感兴趣的:(云GIS,云原生)