在编译节点构建编译容器和部署容器
为了避免在真实集群中安装额外的软件,建议使用一台全新的集群外服务器进行制作容器镜像动作,该服务器应使用与集群同样的硬件配置和操作系统,本章节中称该服务器为编译节点。为更高效地管理与执行软件的部署构建流程,需要在编译节点构建编译容器和部署容器。
- 下载openEuler-22.03-LTS-SP4基础镜像。
1wget http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/docker_img/aarch64/openEuler-docker.aarch64.tar.xz - 导入下载的基础镜像。
1podman load -i openEuler-docker.aarch64.tar.xz
- 根据镜像创建容器,启动前需要重置(unset命令)物理机上的代理环境变量。
1 2 3
unset http_proxy unset https_proxy podman run -dit --name openeuler2203sp4_base --hostname openeuler2203sp4_base -p 10000:22 --privileged --ipc=host docker.io/library/openeuler-22.03-lts-sp4:latest
- 进入容器。
1podman exec -it openeuler2203sp4_base /bin/bash
- 在容器中配置代理等环境变量,不建议配置到bashrc中。
1 2 3
export TMOUT=0 export http_proxy=http://xxx// 按需配置 export https_proxy=http://xxx // 按需配置
- 在容器中安装基础软件包。
1yum install openssh-server openssh-clients passwd vim perf sysstat dos2unix htop sshpass jq numactl hostname python3 python3-devel python3-pip tar createrepo ipmitool iproute git systemd psmisc udev wget rpmdevtools gtk-doc pam-devel xmlsec1-devel libtool libtool-ltdl-devel cmake gcc-c++ libstdc++-static java-1.8.0-openjdk java-1.8.0-openjdk-devel fio iputils make -y
- 在容器中安装RDMA依赖软件包。
1yum install libibverbs-devel librdmacm-devel numactl-devel -y
- 退出容器,制作镜像。
1 2
exit podman commit openeuler2203sp4_base openeuler2203sp4_base:v2203sp4
- 启动编译容器。
1podman run --name openeuler2203sp4_build --hostname openeuler2203sp4_base -p 10001:22 --privileged --ipc=host -dti localhost/openeuler2203sp4_base:v2203sp4 /usr/sbin/init
- 制作部署容器。
1podman run --name openeuler2203sp4_release --hostname openeuler2203sp4_base -p 10003:22 --privileged --ipc=host -dti localhost/openeuler2203sp4_base:v2203sp4 /usr/sbin/init
- 检查容器环境变量,确保环境变量中不能有代理配置,如果有,需要重置物理机上的代理环境变量,然后从3开始重新执行。
1podman inspect openeuler2203sp4_release | grep Env -A 10

- 删除容器命令,[CONTAINER_ID]是容器ID,通过podman ps查看。
1 2
podman stop [CONTAINER_ID] podman rm [CONTAINER_ID]
- 删除镜像命令,[IMAGE_ID]是镜像ID,通过podman images查看。删除镜像需要删除所有基于该镜像创建的容器。
1podman rmi [IMAGE_ID]
- 删除容器命令,[CONTAINER_ID]是容器ID,通过podman ps查看。
父主题: 准备编译环境