安装容器化 SUSE Multi-Linux Manager 代理

仅支持使用 SUSE Linux Enterprise Server 15 SP5 或 SLE Micro 6.1 和更高版本作为 SUSE Multi-Linux Manager 代理容器的容器主机。

1. 容器主机要求

Table 1. 代理容器主机硬件要求
硬件 细节 建议

CPU

最少 2 个专用的 64 位 CPU 核心

RAM

测试服务器

最少 2 GB

生产服务器

最少 8 GB

磁盘空间

最少 100 GB

Table 2. 代理容器主机软件要求
软件 细节 备注

连接方法

Salt

主机必须配置为 Salt 客户端

为确保客户端能够解析 SUSE Multi-Linux Manager 服务器的域名: * 容器代理和客户端计算机都必须连接到 DNS 服务器 * 反向查找必须正常工作

2. 在主机系统上安装容器服务

首先,需要将要充当 SUSE Multi-Linux Manager 代理容器基础的容器主机作为客户端注册到 SUSE Multi-Linux Manager 服务器。

有关将客户端注册到 SUSE Multi-Linux Manager 服务器的详细信息,请参见 客户端注册

需要为 SUSE Linux Enterprise Server 计算机上的容器主机提供 Containers 模块

SUSE Multi-Linux Manager Proxy 容器使用 podmansystemd 运行和管理所有代理容器。

第一步是安装同名软件包提供的 mgrpxy 实用程序。

mgrpxy 软件包可在 SUSE Multi-Linux Manager 代理产品储存库中找到。

要进行安装,请运行以下命令:

zypper in helm mgrpxy
过程:为 SUSE Multi-Linux Manager 代理安装容器实用工具 mgrpxy
  1. 在 SUSE Multi-Linux Manager 中为容器主机指派 Containers Module 软件通道。有关为系统指派软件通道的详细信息,请参见 通道管理

  2. 在容器主机上以 root 身份登录。

  3. 手动安装 mgrpxy 软件包:

    zypper install mgrpxy

3. 安装 SUSE Multi-Linux Manager 代理容器

SUSE Multi-Linux Manager Proxy 容器需要挂载一些卷来长期存储数据。podman 会自动创建这些卷,您可以使用 podman volume ls 命令列出它们。默认情况下,podman 会将卷文件存储在 /var/lib/containers/storage/volumes 中。卷的命名方式如下:

  • uyuni-proxy-squid-cache

  • uyuni-proxy-rhn-cache

  • uyuni-proxy-tftpboot

要覆盖默认卷设置,请在 Pod 首次启动前使用 podman volume create 命令创建卷。

默认情况下,uyuni-proxy-systemd-services 软件包会创建以下三个可用于挂载外部磁盘的目录:

/var/lib/uyuni/proxy-rhn-cache
/var/lib/uyuni/proxy-squid-cache
/var/lib/uyuni/proxy-tftpboot

如果 /etc/fstab 包含以下项:

/dev/uyuni-proxy/rhn-cache    /var/lib/uyuni/proxy-rhn-cache    xfs 	defaults 0 0
/dev/uyuni-proxy/squid-cache  /var/lib/uyuni/proxy-squid-cache  xfs 	defaults 0 0
/dev/uyuni-proxy/tftpboot     /var/lib/uyuni/proxy-tftpboot     xfs 	defaults 0 0

运行以下命令创建自定义卷:

podman volume create --driver local --opt device=/dev/mapper/uyuni--proxy-rhn--cache --opt type=xfs uyuni-proxy-rhn-cache
podman volume create --driver local --opt device=/dev/mapper/uyuni--proxy-squid--cache --opt type=xfs uyuni-proxy-squid-cache
podman volume create --driver local --opt device=/dev/mapper/uyuni--proxy-tftpboot --opt type=xfs uyuni-proxy-tftpboot

要安装用于启动 SUSE Multi-Linux Manager 代理的 systemd 服务,请运行 mgrpxy install podman /path/to/config.tar.gz 命令。

可以通过在 install 命令中使用一个或多个 --podman-arg 参数,来添加传递给 podman 容器 Pod 的自定义参数。

可以在 install 命令中使用 --tag=latest 参数来修改容器映像所用的标记。

更改容器映像和版本参数是危险操作,可能会导致系统无法正常运行。

3.1. 为服务使用自定义容器映像

默认情况下,SUSE Multi-Linux Manager 代理套件设置为针对其每个服务使用相同的映像版本和注册表路径。但是,可以使用以 -tag-image 结尾的 install 参数覆盖特定服务的默认值。

例如,可以按如下方式使用此命令:

mgrpxy install podman --httpd-tag 0.1.0 --httpd-image registry.opensuse.org/uyuni/proxy-httpd /path/to/config.tar.gz

该命令会在重启动 httpd 服务之前调整其配置文件。其中 registry.opensuse.org/uyuni/proxy-httpds 是要使用的映像,0.1.0 是版本标记。

要重置为默认值,请再次运行 install 命令但不要指定这些参数:

mgrpxy install podman /path/to/config.tar.gz

此命令首先将所有服务的配置重置为全局默认值,然后重新装载配置。

4. 在容器主机防火墙上允许提供的服务进行网络访问

SUSE Multi-Linux Manager Proxy 容器以所谓的 node-port 服务形式工作。这意味着代理容器 Pod 会共享容器主机网络 TCP 和 UDP 端口空间。因此,容器主机防火墙必须配置为接受 SUSE Multi-Linux Manager Proxy 容器所用端口上的传入流量。这些端口包括:

  • 69/UDP - TFTP

  • 80/TCP - HTTP

  • 443/TCP - HTTPS

  • 4505/TCP - Salt

  • 4506/TCP - Salt

  • 8022/TCP - SSH

容器化 SUSE Multi-Linux Manager Proxy 设置 中所述继续将已安装的 SUSE Multi-Linux Manager 代理设置为容器。