SUSE Multi-Linux Manager 代理部署
本指南概述了在 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 上部署 SUSE Multi-Linux Manager 5.1 代理容器的过程。 本指南假设您已经成功部署了 SUSE Multi-Linux Manager 5.1 服务器。
|
目前仅支持将 SL Micro 作为常规 minion( |
|
可以将现有客户端转换为代理。 有关详细信息,请参见 启动 {productname} 代理。 |
要成功部署新的代理,请按照以下程序操作:
查看硬件要求。
在服务器上同步 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 父通道和代理扩展子通道。
在裸机上安装 SL Micro 或 SUSE Linux Enterprise Server。
创建带有代理扩展的 Salt 激活密钥。
使用
default连接方法将代理启动为客户端。生成代理配置。
将服务器中的代理配置传输到代理。
使用 {webui} 安装软件包
使用代理配置将客户端作为代理注册到 SUSE Multi-Linux Manager。
|
代理容器主机支持的操作系统
容器主机支持的操作系统为 SL Micro 6.1 和 SUSE Linux Enterprise Server 15 SP7。
|
1. 代理的硬件要求
有关部署 SUSE Multi-Linux Manager 代理的硬件要求的更多信息,请参见 installation-and-upgrade:hardware-requirements.adoc#proxy-hardware-requirements。
2. 同步父通道和代理扩展子通道
本节假定您已在服务器的 Web UI 下输入了您的组织凭据。
产品列在 页面上。
此通道必须在服务器上完全同步,并选择子通道 Proxy 作为扩展选项。
在 SUSE Multi-Linux Manager Web UI 中选择 。
在产品页面的过滤器字段中输入 SL Micro 或 SUSE Linux Enterprise Server。
接下来,在下拉列表中选择所需的体系结构。 在本示例中 x86-64。
在
Product Description字段中,选中 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 复选框,然后使用下拉菜单选择SUSE Multi-Linux Manager Proxy Extension 5.1 x86_64扩展。单击 添加产品 按钮。
等待同步完成。
3. 准备 SUSE Multi-Linux Manager 代理主机
在下面的小节中,您可以使用 SLE Micro 或 SUSE Linux Enterprise Server 来准备代理主机。
3.1. 准备 SL Micro 6.1 主机
3.1.1. 任务:下载安装媒体
在 SL Micro 6.1 找到 安装媒体 https://www.suse.com/download/sle-micro/, 并下载相应的媒体文件。
准备 DVD 或 USB U 盘,并将下载的
.iso映像烧录到其上以进行安装。
3.1.2. 安装 SL Micro 6.1
有关准备您的机器(虚拟或物理)的更多信息,请参见 SL Micro 部署指南。
插入包含 SLE Micro 6.1 安装映像的 DVD 或 USB U盘。
引导或重引导您的系统。
使用箭头键选择
Installation。调整键盘和语言。
单击
checkbox以接受许可协议。单击
Next以继续。代理注册SL Micro 6.1 授权包含在 SUSE Multi-Linux Manager 授权中,因此不需要单独的注册代码。
单击 下一步 继续。
在
NTP Configuration页面上,单击 下一步。在
Authentication for the System页面上,输入 root 用户的密码。 单击 下一步。在
Installation Settings页面上,单击 安装。
这结束了 SL Micro 6.1 和 SUSE Multi-Linux Manager 5.1 作为扩展的安装。
3.1.3. 更新系统
以 root 身份登录。
运行 transactional-update:
transactional-update重引导。
|
SL Micro 默认情况下设计为自动更新,并将在应用更新后重新启动。 然而,这种行为在 SUSE Multi-Linux Manager 环境中并不理想。 为了防止服务器上的自动更新,SUSE Multi-Linux Manager 在启动过程中禁用事务更新计时器。 如果您希望保留 SL Micro 的默认行为,请运行以下命令来启用计时器:
|
要继续部署,请参见 配置自定义永久性存储。
3.2. 准备 SUSE Linux Enterprise Server 15 SP7 主机
或者,您可以在 SUSE Linux Enterprise Server 15 SP7 上部署 SUSE Multi-Linux Manager。
下面的过程介绍安装过程的主要步骤。
3.2.1. 在 SUSE Multi-Linux Manager 上安装 SUSE Linux Enterprise Server 扩展
找到并下载 SUSE Linux Enterprise Server 15 SP7
.iso在 https://www.suse.com/download/sles/.。确保您拥有宿主操作系统 (SUSE Linux Enterprise Server 15 SP7) 和扩展的注册代码
开始安装 SUSE Linux Enterprise Server 15 SP7。
在
Language, keyboard and product selection上选择要安装的产品。在
License agreement上阅读协议并勾选I Agree to the License Terms。代理注册
单击
Next以继续。
请注意,对于 SUSE Linux Enterprise Server 15 SP7,您需要在服务器上配置有效的 SUSE Linux Enterprise Server 订阅。
在屏幕
Extensions and Modules Selection中检查以下内容:
{sles} Basesystem 模块
容器主机
单击 下一步 继续。
完成安装。
安装完成后,以 root 身份登录。
更新系统(可选,如果在安装期间未将系统设置为自动下载更新):
zypper up重引导。
要继续部署,请参见 配置自定义永久性存储。
4. 配置自定义永久性存储
配置永久性存储是可选的,但这是避免容器因磁盘已满而引发严重问题的唯一方法。
如果您的基础设施需要自定义的永久性存储,请使用 mgr-storage-proxy 工具。
-
有关详细信息,请访问
mgr-storage-proxy --help。 此工具可以简化容器存储和 Squid 缓存卷的创建。
如下所示使用命令:
mgr-storage-proxy <storage-disk-device>
例如:
mgr-storage-proxy /dev/nvme1n1
|
此命令将在 有关详细信息,请参见 |
5. 为代理创建激活密钥
导航到 ,然后单击 创建密钥。
为代理主机创建一个激活密钥,使用 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 作为父通道。 为代理主机创建激活密钥并使用 {micro} {microversion} 作为父通道。此密钥应包括所有建议的通道以及用作扩展子通道的代理。
继续以
default客户端身份启动代理主机。
|
确保代理仅分配给原始供应商通道。 目前不支持分配克隆通道。 |
6. 将代理主机作为客户端进行引导
选择 。
填写代理主机的相关字段。
从下拉列表中选择上一步骤中创建的激活密钥。
点击 启动。
等待启动过程成功完成。 检查 Salt 菜单,确认 Salt 键已列出并被接受。
如果操作系统是 SL Micro,则重启代理主机。
从 系统 列表中选择主机,并在所有事件结束后(若出现 SL Micro)触发第二次重启,以完成主机接入。
从 系统 列表中选择主机,并应用所有补丁以将其更新。
如果操作系统是 SL Micro,则重启代理主机。
7. 生成代理配置
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 证书。 如果中心服务器为外围服务器生成了证书,则还需要为每个代理生成证书。 为此,可运行以下命令:
要使用的文件为: |
7.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)。片刻之后,您将看到一个可供下载的文件。 请将此文件保存在本地。
7.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 .
7.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 .
8. 传输代理配置
Web UI会生成一个配置归档。 该归档需要在代理容器主机上可用。
如果还未执行此操作,请将上一步生成的配置归档(
config.tar.gz)从服务器容器复制到服务器主机:mgrctl cp server:/root/config.tar.gz .将服务器主机中的文件复制到代理主机(如果还未执行此操作):
scp config.tar.gz <proxy-FQDN>:/root
9. 安装并启用 [package]``podman``
在使用代理前,需要在主机上存在一些软件包,并且`podman`需要处于运行状态。
在代理主机上使用以下命令安装代理:
podman
mgrpxy-bash-completion
suse-multi-linux-manager-5.1-x86_64-proxy-httpd-image
suse-multi-linux-manager-5.1-x86_64-proxy-salt-broker-image
suse-multi-linux-manager-5.1-x86_64-proxy-squid-image
suse-multi-linux-manager-5.1-x86_64-proxy-ssh-image
suse-multi-linux-manager-5.1-x86_64-proxy-tftpd-image重引导系统或运行以下命令,以启动 Podman 服务:
systemctl enable --now podman.service在代理主机上使用以下命令安装代理:
mgrpxy install podman config.tar.gz
10. 启动 SUSE Multi-Linux Manager 代理
现在可以使用 mgrpxy 命令启动容器:
调用以下命令启动代理:
mgrpxy start调用以下命令检查容器状态:
mgrpxy status应该会显示五个 SUSE Multi-Linux Manager 代理容器,并且它们应该属于
proxy-pod容器 Pod:
proxy-salt-broker
proxy-httpd
proxy-tftpd
proxy-squid
proxy-ssh
11. 为服务使用自定义容器映像
默认情况下,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
此命令首先将所有服务的配置重置为全局默认值,然后重新装载配置。