容器化 SUSE Multi-Linux Manager Proxy 设置
为 SUSE Multi-Linux Manager Proxy 容器准备好容器主机后,需要额外执行几步容器设置才能完成配置。
-
生成 SUSE Multi-Linux Manager Proxy 配置归档文件
-
将配置归档传输到在安装步骤中准备的容器主机并解压缩
-
使用
mgrpxy启动代理服务
1. 生成代理配置
SUSE Multi-Linux Manager 代理的配置归档由 SUSE Multi-Linux Manager 服务器生成。每个附加代理都需要自身的配置归档。
对于容器化 SUSE Multi-Linux Manager 代理,您必须构建新的代理配置文件,然后重新部署容器以使更改生效。此流程适用于更新设置(包括 SSL 证书)。
|
对于 Podman 部署,在生成此代理配置之前,必须将 SUSE Multi-Linux Manager 代理的容器主机作为客户端注册到 SUSE Multi-Linux Manager 服务器。 |
如果使用代理 FQDN 生成非注册客户端的代理容器配置(如 Kubernetes 用例中那样),系统列表中将出现一个新的系统项。此新项将显示在之前输入的“代理 FQDN”值下方并属于外部系统类型。
|
外围服务器始终使用第三方 SSL 证书。如果中心服务器已为外围服务器生成证书,则还需为外围数据库生成证书。在中心服务器上,为每台待迁移的外围服务器运行以下命令。
需要使用的文件包括:
* |
1.1. 使用 Web UI 生成代理配置
在 Web UI 中,导航到,然后填写所需数据。
在
代理 FQDN字段中,键入代理的完全限定域名。在
父 FQDN字段中,键入 SUSE Multi-Linux Manager 服务器或另一个 SUSE Multi-Linux Manager 代理的完全限定域名。在
代理 SSH 端口字段中,键入 SSH 服务在 SUSE Multi-Linux Manager 代理上监听的 SSH 端口。建议保留默认值 8022。在
最大 Squid 缓存大小 [MB]字段中键入允许的最大 Squid 缓存大小。建议的最大大小为容器可用存储空间的 80%。
2 GB 表示默认的代理 squid 缓存大小。需要根据您的环境调整此大小。
在
SSH 证书选择列表中,选择应为 SUSE Multi-Linux Manager 代理生成新服务器证书还是使用现有证书。您可以考虑作为 SUSE Multi-Linux Manager 内置(自我签名)证书生成的证书。+
然后根据所做的选择提供用于生成新证书的签名 CA 证书的路径,或者要用作代理证书的现有证书及其密钥的路径。
+
服务器生成的 CA 证书存储在
/var/lib/containers/storage/volumes/root/_data/ssl-build目录中。+
有关现有或自定义证书的详细信息以及企业和中间证书的概念,请参见 导入 SSL 证书。
单击 生成 以在 SUSE Multi-Linux Manager 服务器中注册新代理 FQDN,并生成包含容器主机细节的配置归档 (
config.tar.gz)。片刻之后,系统会显示文件可供下载。请将此文件保存在本地。
1.2. 使用 spacecmd 和自我签名证书生成代理配置
可以使用 spacecmd 生成代理配置。
通过 SSH 连接到您的容器主机。
执行以下命令(替换其中的服务器和代理 FQDN):
mgrctl exec -ti 'spacecmd proxy_container_config_generate_cert -- dev-pxy.example.com dev-srv.example.com 2048 email@example.com -o /tmp/config.tar.gz'从服务器容器复制生成的配置:
mgrctl cp server:/tmp/config.tar.gz .
1.3. 使用 spacecmd 和自定义证书生成代理配置
可以使用 spacecmd 为自定义证书(而不是默认的自我签名证书)生成代理配置。
通过 SSH 连接到您的服务器容器主机。
执行以下命令(替换其中的服务器和代理 FQDN):
for f in ca.crt proxy.crt proxy.key; do mgrctl cp $f server:/tmp/$f done mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'如果您的设置使用中间 CA,请同时复制该证书,并在命令中通过
-i选项(可根据需要多次提供)包含该证书:mgrctl cp intermediateCA.pem server:/tmp/intermediateCA.pem mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 -i /tmp/intermediateCA.pem pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'从服务器容器复制生成的配置:
mgrctl cp server:/tmp/config.tar.gz .
2. 传输 SUSE Multi-Linux Manager 代理配置
执行 spacecmd 命令和使用 Web UI 这两种方式均会创建配置归档。该归档需在容器主机上可用,请将生成的此归档传输至容器主机。
3. 启动 SUSE Multi-Linux Manager 代理容器
可以执行 mgrpxy 命令来启动容器。
-
运行以下命令:
mgrpxy start uyuni-proxy-pod
-
调用以下命令检查所有容器是否都已按预期启动:
podman ps
应该会显示以下五个 SUSE Multi-Linux Manager 代理容器,并且它们应该是 proxy-pod 容器 Pod 的一部分。
-
proxy-salt-broker
-
proxy-httpd
-
proxy-tftpd
-
proxy-squid
-
proxy-ssh