安装容器化 SUSE Manager Proxy

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

容器主机必须作为 Salt 客户端连接到管理器。将容器主机作为传统客户端连接不会成功,因为这样将无法获取所需的软件包。

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 的容器服务
  1. 在 SUSE Manager 中为容器主机指派 Containers Module 软件通道。

    有关为系统指派软件通道的详细信息,请参见 通道管理

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

  3. 手动安装 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 容器 Pod 的自定义参数:

  • EXTRA_POD_ARGS=''

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

  • TAG=latest

请勿更改 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 容器以所谓的节点访问服务形式工作。这意味着代理容器 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 设置为容器。