---
title: 在部署容器中制作部署镜像
description: "制作最小完整功能的部署镜像，并导出为文件，后续拷贝到真实的部署集群节点ceph1~ceph3和client1中使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephobject_DG_Ubuntu_04_0013.html
sourcePath: /source/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephobject_DG_Ubuntu_04_0013.html
indexId: 4f1f73437034e99315800e37536dc242350662c0865fe589a75044a7701ea28f84
---
# 在部署容器中制作部署镜像

制作最小完整功能的部署镜像，并导出为文件，后续拷贝到真实的部署集群节点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。

  a. 打开passwd文件。
    1 vim /etc/passwd

  b. 按“i”进入编辑模式，将Ceph的登录shell修改为“/bin/bash”。
  c. 按“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查看）。
