Rate This Document
Findability
Accuracy
Completeness
Readability

Installing Podman on All Nodes

To ensure unified management and deployment of applications and improve deployment consistency and reliability, you need to install Podman on all nodes (ceph1 to ceph3 and client1 to client3 in this document).

  • Podman is used to deploy Ceph in a container. Ceph has requirements on the Podman versions. For details, see Table 1.
  • Ceph 17.2.7 requires Podman 2.0 or later. The Podman version in the openEuler-20.03-LTS-SP4 community source is 0.10.1. You need to manually update Podman to a later version. This section uses Podman 3.4.4 as an example.
  • If you want to manually create a container image with the minimum dependency, prepare an additional compilation node and install Podman on it.
Table 1 Mapping between Ceph versions and Podman versions

Ceph

Podman

1.9

2.0

2.1

2.2

3.0

> 3.0

≤ 15.2.5

True

False

False

False

False

False

≥ 15.2.6

True

True

True

False

False

False

≥ 16.2.1

False

True

True

False

True

True

≥ 17.2.0

False

True

True

False

True

True

Note: True indicates compatible, and False indicates incompatible.

  1. Download dependency tools.
    1
    yum install rpmdevtools python3-pyyaml git
    
  2. Build the RPM package of Podman 3.4.4.
    1
    2
    3
    4
    5
    6
    cd /home
    wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/podman-3.4.4-1.oe2203sp2.src.rpm --no-check-certificate
    rpmdev-setuptree
    rpm -ivUh podman-3.4.4-1.oe2203sp2.src.rpm
    yum-builddep -y /root/rpmbuild/SPECS/podman.spec
    rpmbuild -bb /root/rpmbuild/SPECS/podman.spec
    
  3. Build the RPM package of crun 1.4.5.
    1
    2
    3
    4
    5
    cd /home
    wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/crun-1.4.5-1.oe2203sp2.src.rpm --no-check-certificate
    rpm -ivUh crun-1.4.5-1.oe2203sp2.src.rpm
    yum-builddep -y /root/rpmbuild/SPECS/crun.spec
    rpmbuild -bb /root/rpmbuild/SPECS/crun.spec
    
  4. Build the RPM package of Conmon 2.1.0.
    1
    2
    3
    4
    5
    cd /home
    wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/conmon-2.1.0-1.oe2203sp2.src.rpm --no-check-certificate
    rpm -ivUh conmon-2.1.0-1.oe2203sp2.src.rpm
    yum-builddep -y /root/rpmbuild/SPECS/conmon.spec 
    rpmbuild -bb /root/rpmbuild/SPECS/conmon.spec
    
  5. Install all RPM packages.
    1
    2
    cd /root/
    yum install -y rpmbuild/RPMS/noarch/podman-docker-3.4.4-1.noarch.rpm rpmbuild/RPMS/aarch64/podman-remote-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-help-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/conmon-2.1.0-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-help-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-gvproxy-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-plugins-3.4.4-1.aarch64.rpm
    
  6. Install catatonit.
    1
    2
    3
    4
    5
    6
    7
    git clone https://github.com/openSUSE/catatonit.git
    cd catatonit
    ./autogen.sh
    ./configure
    make
    make install
    cp catatonit /usr/libexec/podman/catatonit
    
  7. Start Podman.
    1
    2
    3
    4
    systemctl daemon-reload
    systemctl enable podman
    systemctl start podman
    systemctl status podman