鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

在部署容器中制作部署镜像

制作最小完整功能的部署镜像,并导出为文件,后续拷贝到真实的部署集群节点ceph1~ceph3和client1中使用。

  1. 进入部署容器。
    1
    podman exec -it openeuler2203sp4_release /bin/bash
    
  2. 安装Ceph依赖包,此步骤中RPM包来源于5
    1
    2
    yum install python-asyncssh-help-2.7.0-2.noarch.rpm python3-asyncssh-2.7.0-2.noarch.rpm python3-natsort-8.4.0-3.noarch.rpm -y
    pip3 install kubernetes==18.20.0
    
    • 安装过程需要确保环境联网。
    • 为了避免Python三方库pycryptodome版本太低导致部署失败,建议升级如下依赖包。
      1
      pip install pycryptodome==3.19.1
      
    • 为了避免部署MGR报错No module named 'kubernetes.client.models.v1_event',需安装如下版本依赖包。
      1
      pip3 install kubernetes==18.20.0
      
  3. 安装Ceph。将6中拷贝的RPM包进行安装。
    • Ceph 17.2.8版本需要额外安装selinux-policy相关包。
      1
      2
      3
      cd /home/local_rpm
      yum install aarch64/ceph-17.2.8-0.aarch64.rpm aarch64/ceph-base-17.2.8-0.aarch64.rpm aarch64/ceph-common-17.2.8-0.aarch64.rpm aarch64/ceph-debugsource-17.2.8-0.aarch64.rpm aarch64/ceph-exporter-17.2.8-0.aarch64.rpm aarch64/ceph-fuse-17.2.8-0.aarch64.rpm aarch64/ceph-immutable-object-cache-17.2.8-0.aarch64.rpm aarch64/ceph-mds-17.2.8-0.aarch64.rpm aarch64/ceph-mgr-17.2.8-0.aarch64.rpm aarch64/ceph-mon-17.2.8-0.aarch64.rpm aarch64/ceph-osd-17.2.8-0.aarch64.rpm aarch64/ceph-radosgw-17.2.8-0.aarch64.rpm aarch64/ceph-selinux-17.2.8-0.aarch64.rpm aarch64/ceph-test-17.2.8-0.aarch64.rpm aarch64/cephfs-java-17.2.8-0.aarch64.rpm aarch64/cephfs-mirror-17.2.8-0.aarch64.rpm aarch64/libcephfs-devel-17.2.8-0.aarch64.rpm aarch64/libcephfs2-17.2.8-0.aarch64.rpm aarch64/libcephfs_jni-devel-17.2.8-0.aarch64.rpm aarch64/libcephfs_jni1-17.2.8-0.aarch64.rpm aarch64/libcephsqlite-17.2.8-0.aarch64.rpm aarch64/libcephsqlite-devel-17.2.8-0.aarch64.rpm aarch64/librados-devel-17.2.8-0.aarch64.rpm aarch64/librados2-17.2.8-0.aarch64.rpm aarch64/libradospp-devel-17.2.8-0.aarch64.rpm aarch64/libradosstriper-devel-17.2.8-0.aarch64.rpm aarch64/libradosstriper1-17.2.8-0.aarch64.rpm aarch64/librbd-devel-17.2.8-0.aarch64.rpm aarch64/librbd1-17.2.8-0.aarch64.rpm aarch64/librgw-devel-17.2.8-0.aarch64.rpm aarch64/librgw2-17.2.8-0.aarch64.rpm aarch64/python3-ceph-argparse-17.2.8-0.aarch64.rpm aarch64/python3-ceph-common-17.2.8-0.aarch64.rpm aarch64/python3-cephfs-17.2.8-0.aarch64.rpm aarch64/python3-rados-17.2.8-0.aarch64.rpm aarch64/python3-rbd-17.2.8-0.aarch64.rpm aarch64/python3-rgw-17.2.8-0.aarch64.rpm aarch64/rados-objclass-devel-17.2.8-0.aarch64.rpm aarch64/rbd-fuse-17.2.8-0.aarch64.rpm aarch64/rbd-mirror-17.2.8-0.aarch64.rpm aarch64/rbd-nbd-17.2.8-0.aarch64.rpm noarch/ceph-grafana-dashboards-17.2.8-0.noarch.rpm noarch/ceph-mgr-cephadm-17.2.8-0.noarch.rpm noarch/ceph-mgr-dashboard-17.2.8-0.noarch.rpm noarch/ceph-mgr-diskprediction-local-17.2.8-0.noarch.rpm noarch/ceph-mgr-k8sevents-17.2.8-0.noarch.rpm noarch/ceph-mgr-modules-core-17.2.8-0.noarch.rpm noarch/ceph-mgr-rook-17.2.8-0.noarch.rpm noarch/ceph-prometheus-alerts-17.2.8-0.noarch.rpm noarch/ceph-resource-agents-17.2.8-0.noarch.rpm noarch/ceph-volume-17.2.8-0.noarch.rpm noarch/cephadm-17.2.8-0.noarch.rpm noarch/cephfs-top-17.2.8-0.noarch.rpm  noarch/selinux-policy-35.5-23.noarch.rpm noarch/selinux-policy-devel-35.5-23.noarch.rpm noarch/selinux-policy-help-35.5-23.noarch.rpm noarch/selinux-policy-minimum-35.5-23.noarch.rpm noarch/selinux-policy-mls-35.5-23.noarch.rpm noarch/selinux-policy-sandbox-35.5-23.noarch.rpm noarch/selinux-policy-targeted-35.5-23.noarch.rpm -y
      yum install chrony haproxy keepalived -y
      
    • Ceph 17.2.7版本安装命令如下,其他版本调整RPM包的名字正确即可。
      1
      2
      yum install aarch64/ceph-17.2.7-0.aarch64.rpm aarch64/ceph-base-17.2.7-0.aarch64.rpm aarch64/ceph-common-17.2.7-0.aarch64.rpm aarch64/ceph-debugsource-17.2.7-0.aarch64.rpm aarch64/ceph-exporter-17.2.7-0.aarch64.rpm aarch64/ceph-fuse-17.2.7-0.aarch64.rpm aarch64/ceph-immutable-object-cache-17.2.7-0.aarch64.rpm aarch64/ceph-mds-17.2.7-0.aarch64.rpm aarch64/ceph-mgr-17.2.7-0.aarch64.rpm aarch64/ceph-mon-17.2.7-0.aarch64.rpm aarch64/ceph-osd-17.2.7-0.aarch64.rpm aarch64/ceph-radosgw-17.2.7-0.aarch64.rpm aarch64/ceph-selinux-17.2.7-0.aarch64.rpm aarch64/ceph-test-17.2.7-0.aarch64.rpm aarch64/cephfs-java-17.2.7-0.aarch64.rpm aarch64/cephfs-mirror-17.2.7-0.aarch64.rpm aarch64/libcephfs-devel-17.2.7-0.aarch64.rpm aarch64/libcephfs2-17.2.7-0.aarch64.rpm aarch64/libcephfs_jni-devel-17.2.7-0.aarch64.rpm aarch64/libcephfs_jni1-17.2.7-0.aarch64.rpm aarch64/libcephsqlite-17.2.7-0.aarch64.rpm aarch64/libcephsqlite-devel-17.2.7-0.aarch64.rpm aarch64/librados-devel-17.2.7-0.aarch64.rpm aarch64/librados2-17.2.7-0.aarch64.rpm aarch64/libradospp-devel-17.2.7-0.aarch64.rpm aarch64/libradosstriper-devel-17.2.7-0.aarch64.rpm aarch64/libradosstriper1-17.2.7-0.aarch64.rpm aarch64/librbd-devel-17.2.7-0.aarch64.rpm aarch64/librbd1-17.2.7-0.aarch64.rpm aarch64/librgw-devel-17.2.7-0.aarch64.rpm aarch64/librgw2-17.2.7-0.aarch64.rpm aarch64/python3-ceph-argparse-17.2.7-0.aarch64.rpm aarch64/python3-ceph-common-17.2.7-0.aarch64.rpm aarch64/python3-cephfs-17.2.7-0.aarch64.rpm aarch64/python3-rados-17.2.7-0.aarch64.rpm aarch64/python3-rbd-17.2.7-0.aarch64.rpm aarch64/python3-rgw-17.2.7-0.aarch64.rpm aarch64/rados-objclass-devel-17.2.7-0.aarch64.rpm aarch64/rbd-fuse-17.2.7-0.aarch64.rpm aarch64/rbd-mirror-17.2.7-0.aarch64.rpm aarch64/rbd-nbd-17.2.7-0.aarch64.rpm noarch/ceph-grafana-dashboards-17.2.7-0.noarch.rpm noarch/ceph-mgr-cephadm-17.2.7-0.noarch.rpm noarch/ceph-mgr-dashboard-17.2.7-0.noarch.rpm noarch/ceph-mgr-diskprediction-local-17.2.7-0.noarch.rpm noarch/ceph-mgr-k8sevents-17.2.7-0.noarch.rpm noarch/ceph-mgr-modules-core-17.2.7-0.noarch.rpm noarch/ceph-mgr-rook-17.2.7-0.noarch.rpm noarch/ceph-prometheus-alerts-17.2.7-0.noarch.rpm noarch/ceph-resource-agents-17.2.7-0.noarch.rpm noarch/ceph-volume-17.2.7-0.noarch.rpm noarch/cephadm-17.2.7-0.noarch.rpm noarch/cephfs-top-17.2.7-0.noarch.rpm -y
      yum install chrony haproxy keepalived -y
      
  4. 修改Ceph用户登录配置l。
    1. 打开passwd文件。
      1
      vim /etc/passwd
      
    2. “i”进入编辑模式,将Ceph的登录shell修改为“/bin/bash”

    3. “Esc”退出编辑模式,输入:wq!“Enter”键保存并退出文件
  5. 在物理机上将容器提交成镜像。
    1
    podman commit 688247c8b260 [IP]:5000/ceph/ceph_release:v17.2.8
    
    • 688247c8b260为openeuler2203sp4_release容器对应的容器ID(通过podman ps查看)。
    • [IP]需要替换为实际本地仓库IP地址。
    • 执行commit动作前,可以将“/home”目录下已安装的RPM包删除,以精简镜像大小。
  6. 将部署镜像导出。
    1
    podman save -o ceph_release.tar a6e8aff2def8
    

    a6e8aff2def8为5提交的镜像对应的ID(通过podman images查看)。