安装容器化 SUSE Manager Proxy

只支持使用 SUSE Linux Enterprise Server 15 SP3 和更高版本作为 SUSE Manager Proxy 容器的容器主机。

容器主机必须作为 Salt 客户端连接到 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 Proxy 容器基础的容器主机作为 Salt 客户端注册到 SUSE Manager Server 中。

有关将 Salt 客户端注册到 SUSE Manager Server 中的详细信息,请参见 客户端注册

需要为容器主机提供 Containers 模块

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

首先需安装 uyuni-proxy-systemd-services 软件包提供的容器控制文件。

过程:安装 SUSE Manager Proxy 的容器服务

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

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

  2. 手动安装 SUSE Manager Proxy 服务软件包:

    zypper install uyuni-proxy-systemd-services

3. 自定义 SUSE Manager Proxy 配置

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 命令创建卷。

可以在 /etc/sysconfig/uyuni-proxy-systemd-services.config 中添加传递给 podman 容器的自定义参数:

EXTRA_POD_ARGS=''

在此文件中,可以修改用于容器映像的标记:

TAG=latest

更改 uyuni-proxy-systemd-services.config 文件(特别是 TAG 设置)是危险操作,可能导致系统无法正常运行。

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

默认情况下,SUSE Manager Proxy 套件设置成为其每项服务使用相同的映像版本和注册表路径。但您可以针对特定的服务覆盖默认值。软件包随付的 uyuni-proxy CLI 可运行带以下参数的 update image 命令:

  • -s,指定服务名称

  • -t,指定版本标记

  • -r,指定注册表路径

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

uyuni-proxy update image -s httpd -t 0.1.0 -r registry.opensuse.org/uyuni

该命令会在重新启动 httpd 服务前调整其配置文件。其中 registry.opensuse.org/uyuni 是注册表,0.1.0 是版本标记。

要将值重置为默认值,请运行代理重置命令,并使用 -s 参数指定服务:

uyuni-proxy reset -s httpd

此命令会将 httpd 服务的配置重置为全局默认值,然后重新装载该服务。

有关详细信息,请参见 uyuni-proxy --help

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 Proxy 设置为容器。