安装容器化 SUSE Manager 代理
仅支持使用 SUSE Linux Enterprise Server 15 SP5 或 SLE Micro 5.5 和更高版本作为 SUSE Manager 代理容器的容器主机。 |
1. 容器主机要求
硬件 | 细节 | 建议 |
---|---|---|
CPU |
最少 2 个专用的 64 位 CPU 核心 |
|
RAM |
测试服务器 |
最少 2 GB |
生产服务器 |
最少 8 GB |
|
磁盘空间 |
最少 100 GB |
软件 | 细节 | 备注 |
---|---|---|
连接方法 |
Salt |
主机必须配置为 Salt 客户端 |
为确保客户端能够解析 SUSE Manager 服务器的域名: * 容器代理和客户端计算机都必须连接到 DNS 服务器 * 反向查找必须正常工作 |
2. 在主机系统上安装容器服务
首先,需要将要充当 SUSE Manager 代理容器基础的容器主机作为客户端注册到 SUSE Manager 服务器。 有关将客户端注册到 SUSE Manager 服务器的详细信息,请参见 客户端注册。 |
需要为 SUSE Linux Enterprise Server 计算机上的容器主机提供 |
SUSE Manager Proxy 容器使用 podman
和 systemd
运行和管理所有代理容器。
第一步是安装同名软件包提供的 mgrpxy
实用程序。
mgrpxy
软件包可在 SUSE Manager 代理产品储存库中找到。
要进行安装,请运行以下命令:
zypper in helm mgrpxy
mgrpxy
在 SUSE Manager 中为容器主机指派 Containers Module
软件通道。有关为系统指派软件通道的详细信息,请参见 通道管理。
-
在容器主机上以
root
身份登录。 -
手动安装
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 代理设置为容器。