安装容器化 SUSE Manager 代理

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

1. 容器主机要求

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

CPU

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

RAM

测试服务器

最少 2 GB

生产服务器

最少 8 GB

磁盘空间

最少 100 GB

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

连接方法

Salt

主机必须配置为 Salt 客户端

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

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

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

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

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

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

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

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

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

zypper in helm mgrpxy
过程:为 SUSE Manager 代理安装容器实用工具 mgrpxy

在 SUSE Manager 中为容器主机指派 Containers Module 软件通道。有关为系统指派软件通道的详细信息,请参见 通道管理

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

  2. 手动安装 mgrpxy 软件包:

    zypper install mgrpxy

3. 安装 SUSE Manager 代理容器

SUSE 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 Manager 代理的 systemd 服务,请运行 mgrpxy install podman /path/to/config.tar.gz 命令。

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

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

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

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

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

  • 69/UDP - TFTP

  • 80/TCP - HTTP

  • 443/TCP - HTTPS

  • 4505/TCP - Salt

  • 4506/TCP - Salt

  • 8022/TCP - SSH

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