安装容器化 SUSE Manager Proxy
只支持使用 SUSE Linux Enterprise Server 15 SP3 和更高版本作为 SUSE Manager Proxy 容器的容器主机。 |
容器主机必须作为 Salt 客户端连接到 SUSE Manager。将容器主机作为传统客户端连接不会成功,因为这样将无法获取所需的软件包。
1. 容器主机要求
硬件 | 细节 | 建议 |
---|---|---|
CPU |
最少 2 个专用的 64 位 CPU 核心 |
|
RAM |
测试服务器 |
最少 2 GB |
生产服务器 |
最少 8 GB |
|
磁盘空间 |
最少 100 GB |
软件 | 细节 | 备注 |
---|---|---|
连接方法 |
Salt |
主机必须配置为 Salt 客户端 |
要确保客户端能够解析 SUSE Manager 服务器的域名: * 容器代理和客户端计算机都必须连接到 DNS 服务器 * 反向查找必须正常工作 |
2. 在主机系统上安装容器服务
首先,需要将要充当 SUSE Manager Proxy 容器基础的容器主机作为 Salt 客户端注册到 SUSE Manager Server 中。 有关将 Salt 客户端注册到 SUSE Manager Server 中的详细信息,请参见 客户端注册。 |
需要为容器主机提供 |
SUSE Manager Proxy 容器使用 podman
和 systemd
运行和管理所有代理容器。
首先需安装 uyuni-proxy-systemd-services
软件包提供的容器控制文件。
在 SUSE Manager 中为容器主机指派 Containers Module
软件通道。有关为系统指派软件通道的详细信息,请参见 通道管理。
-
在容器主机上以
root
身份登录。 -
手动安装 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
更改 |
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 代理设置为容器。