物理机中本地仓库搭建和镜像配置

本节操作均在ceph1~ceph3和client1节点的物理机上执行。

  1. 关闭SELinux。

    1
    setenforce 0
    

  2. 拉取registry:2到本地仓。

    1
    podman pull docker.io/library/registry:2
    
    • 若不能访问外网,使用如下方法或手动下载包导入到节点。
      1
      2
      3
      git config --global http.sslVerify false
      git config --global https.sslVerify false
      git clone https://github.com/NotGlop/docker-drag.git
      
    • 启动本地仓:
      1
      podman load -i registry_2.tar
      
    • 如代理上网时不能正常拉取镜像,需检查代理设置方式。Podman依赖环境变量HTTP_PROXY和HTTPS_PROXY进行代理上网。

  3. 修改容器配置文件“/etc/containers/registries.conf”

    1. 打开“/etc/containers/registries.conf”文件。
      1
      vi /etc/containers/registries.conf
      
    2. “i”进入编辑模式,按照如下信息修改配置文件。
      1
      2
      3
      4
      5
      unqualified-search-registries = ["[IP]", "quay.io"]
      short-name-mode="enforcing"
      [[registry]]
      location = "[IP]:5000"
      insecure = true
      
      • 根据实际情况将[IP]替换为实际仓库IP地址。
      • 如果文件中已有配置项,只需要调整配置的值即可。
    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

  4. 修改本地仓设置。

    1
    2
    mkdir -p /home/registry-data
    podman run -d -p 5000:5000 -v /home/registry-data:/var/lib/registry --restart always --name registry localhost/registry:2
    

    podman run命令中的参数 “localhost/registry:2”2中成功拉取的仓库名称和版本。

  5. 导入在部署容器中制作部署镜像中生成的Ceph部署镜像。

    1
    podman load -i ceph_release.tar
    

  6. 镜像重命名并上传到本地仓。

    1
    2
    3
    podman tag 8bbba7d5cc80 [IP]:5000/ceph/ceph_release:v17.2.8
    podman push [IP]:5000/ceph/ceph_release:v17.2.8 [IP]:5000/ceph/ceph_release:v17.2.8
    podman rmi 8bbba7d5cc80
    
    • 8bbba7d5cc80为ceph_release.tar对应的镜像ID,通过podman images命令查看,请根据实际情况替换。
    • [IP]为本地IP地址,请根据实际情况替换。
    • v17.2.8是Ceph版本,本节以部署Ceph 17.2.8为例,可以根据实际部署的Ceph版本进行调整。
    • 使用Docker技术时,push操作的命令如下。
      1
      docker push 90.90.82.118:5000/ceph/ceph_release:v17.2.8
      
    • 若push镜像时存在“Gateway Time-out”的报错,可能是因为配置了代理,需要关闭代理配置。
      1
      2
      unset http_proxy
      unset https_proxy
      

  7. 修改cephadm文件中的DEFAULT_IMAGE。

    1. 打开/usr/sbin/cephadm文件。
      1
      vim /usr/sbin/cephadm
      
    2. “i”进入编辑模式,调整脚本中默认镜像地址。
      1
      DEFAULT_IMAGE = "[IP]:5000/ceph/ceph_release:v17.2.8"
      
    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

  8. 修改cephadm中创建容器权限。

    1
    if self.privileged:
    

    修改为

    if self.privileged or not self.privileged:

    该修改行位于run_cmd函数中。