SUSE Multi-Linux Manager 以虚拟机形式部署代理 - KVM
本章提供 SUSE Multi-Linux Manager 5.1 代理作为映像的虚拟机设置。 KVM 将与虚拟机管理器 (virt-manager) 结合使用,作为此安装的沙箱。
1. 可用映像
|
部署 SUSE Multi-Linux Manager 代理的首选方法是使用以下可用映像之一。 所有工具都包含在这些映像中,简化了部署。 |
SUSE Multi-Linux Manager 5.1 代理的映像可在 SUSE Multi-Linux Manager 5.1 虚拟机映像 中获得。
|
仅为SUSE Multi-Linux Manager 5.1提供定制的SL Micro 6.1虚拟机镜像。 要在SUSE Linux Enterprise Server 15 SP7上运行该产品,请使用在 https://www.suse.com/download/sles/处提供的标准SUSE Linux Enterprise Server 15 SP7安装介质,并在其上启用SUSE Multi-Linux Manager 5.1扩展。 |
| 体系结构 | 映像格式 |
|---|---|
aarch64 |
qcow2, vmdk |
x86_64 |
qcow2, vmdk, raw, 自安装程序 |
2. 虚拟机管理器 (virt-manager) 设置
使用 virt-manager 创建新虚拟机时请输入以下设置。
|
此表指定了最低要求。 这些适合快速测试安装,例如一个客户端的代理。 如果您想使用生产环境并需要有关磁盘空间的背景信息,请参见 硬件要求。 |
| KVM 设置 | |
|---|---|
安装方法 |
导入现有磁盘映像 |
OS: |
Linux |
版本: |
SUSE Multi-Linux Manager-Proxy.x86_64-5.1.*.qcow2 |
内存: |
最小值 *) |
处理器: |
最小值 *) |
存储格式: |
.qcow2 40 GB(默认)根分区 |
名称: |
测试设置 |
网络 |
桥接 br0 |
|
|
3. 初始 KVM 设置
有关设置,请参见 虚拟机管理器 (virt-manager) 设置。
-
使用下载的 Minimal KVM 映像创建一个新虚拟机,并选择
Import existing disk image。 -
配置 RAM 和 CPU 数量(至少 16 GB RAM,4 个 CPU)。
-
为您的 KVM 机器命名并选中
Customize configuration before install复选框。 -
单击 开始安装 以从映像引导。
-
在 JeOS 首次引导屏幕上选择“开始”以继续。
-
选择键盘布局。
-
接受许可协议。
-
选择您的时区。
-
输入 root 口令。
-
安装完成后,以 root 身份登录。
-
继续阅读下一节。
4. 注册 SL Micro 和 SUSE Multi-Linux Manager,5.1 代理
-
引导虚拟机。
-
以
root身份登录。 -
使用 SCC 注册 SL Micro。
transactional-update register -r <REGCODE> -e <your_email>
-
重引导。
-
注册 SUSE Multi-Linux Manager 5.1 代理,使用 SUSE Customer Center。
transactional-update register -p Multi-Linux-Manager-Proxy/5.1/x86_64 -r <REGCODE>
-
重引导。
-
更新系统:
transactional-update
-
如果已应用更新,请重引导。
-
该步骤可选。 但是,如果您的基础设施需要自定义的永久性存储,请使用
mgr-storage-proxy工具。-
有关详细信息,请访问
mgr-storage-proxy --help。 该工具简化了创建容器卷的过程。 -
如下所示使用命令:
mgr-storage-proxy <storage-disk-device>
例如:
mgr-storage-proxy /dev/nvme1n1
此命令会将
/var/lib/containers/storage/volumes处的永久性存储卷移动到指定的存储设备。有关详细信息,请参见
-
5. 为代理创建激活密钥
导航到 ,然后单击 创建密钥。
为代理主机创建一个激活密钥,使用 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 作为父通道。 为代理主机创建激活密钥并使用 {micro} {microversion} 作为父通道。此密钥应包括所有建议的通道以及用作扩展子通道的代理。
继续以
default客户端身份启动代理主机。
|
确保代理仅分配给原始供应商通道。 目前不支持分配克隆通道。 |
6. 生成代理配置
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值下,并将属于`Foreign`系统类型。
|
外围服务器始终使用第三方 SSL 证书。 如果中心服务器为外围服务器生成了证书,则还需要为每个代理生成证书。 为此,可运行以下命令:
要使用的文件为: |
6.1. 使用 Web UI 生成代理配置
在 Web UI 中,导航到 并填写所需数据。
在
Proxy FQDN字段中,键入代理的完全限定的域名。在
Parent FQDN字段中,键入 SUSE Multi-Linux Manager 服务器或另一个 SUSE Multi-Linux Manager 代理的完全限定的域名。在
Proxy SSH port字段中,输入 SUSE Multi-Linux Manager 代理上 SSH 服务侦听的 SSH 端口。建议保持默认值 8022。在
Max Squid cache size [MB]字段中,输入 Squid 缓存允许的最大大小。 建议最多使用可用存储的 80% 来存放容器。
2 GB 代表默认的代理 squid 缓存大小。 这需要根据您的环境进行调整。
在
SSL certificate选择列表中选择是否为 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)。片刻之后,您将看到一个可供下载的文件。 请将此文件保存在本地。
6.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 .
6.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 .
7. 传输代理配置
Web UI会生成一个配置归档。 该归档需要在代理容器主机上可用。
如果还未执行此操作,请将上一步生成的配置归档(
config.tar.gz)从服务器容器复制到服务器主机:mgrctl cp server:/root/config.tar.gz .将服务器主机中的文件复制到代理主机(如果还未执行此操作):
scp config.tar.gz <proxy-FQDN>:/root
8. 启动 SUSE Multi-Linux Manager 5.1 代理
现在可以使用 mgrpxy 命令启动容器:
-
调用以下命令启动代理:
mgrpxy start
-
调用以下命令检查容器状态:
mgrpxy status
应该会显示五个 SUSE Multi-Linux Manager 代理容器,并且它们应该属于
proxy-pod容器 Pod:-
proxy-salt-broker
-
proxy-httpd
-
proxy-tftpd
-
proxy-squid
-
proxy-ssh
-
8.1. 为服务使用自定义容器映像
默认情况下,SUSE Multi-Linux Manager 代理套件设置为对其每个服务使用相同的映像版本和注册表路径。
但是,可以使用以 -tag 和 -image 结尾的安装参数覆盖特定服务的默认值。
例如,可以按如下方式使用此命令:
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
此命令首先将所有服务的配置重置为全局默认值,然后重新装载配置。