SUSE Multi-Linux Manager Proxy Deployment on openSUSE Leap Micro 6.1

本指南概述了 SUSE Multi-Linux Manager 5.1 代理的部署过程。本指南假定您已成功部署 SUSE Multi-Linux Manager 5.1 服务器。要成功完成部署,请执行以下操作:

核对清单:代理部署
  1. 查看硬件要求。

  2. 在裸机上安装 openSUSE Leap Micro 6.1。

  3. 将代理作为 Salt 受控端进行引导。

  4. 生成代理配置。

  5. 将服务器中的代理配置传输到代理

  6. 使用代理配置将 Salt 受控端作为代理注册到 SUSE Multi-Linux Manager。

代理容器主机支持的操作系统

容器主机支持的操作系统为 openSUSE Leap Micro 6.1。

容器主机

容器主机是配备了容器引擎(例如 Podman)的服务器,可用于管理和部署容器。这些容器包含应用程序及其必备组件(例如库),但不包含完整的操作系统,因此体量很小。此设置可确保应用程序能够在不同环境中以一致的方式运行。容器主机为这些容器提供必要的资源,例如 CPU、内存和存储。

1. 代理的硬件要求

下表列出了部署 SUSE Multi-Linux Manager 代理所要满足的硬件要求。

Table 1. 代理硬件要求
Hardware Details Recommendation

CPU

x86-64, ARM

Minimum 2 dedicated 64-bit CPU cores

RAM

Minimum

2 GB

Recommended

8 GB

Disk Space

/ (root directory)

Minimum 40 GB

/var/lib/containers/storage/volumes

Minimum 100 GB, Storage requirements should be calculated for the number of ISO distribution images, containers, and bootstrap repositories you will use.

2. Container Host General Requirements

有关一般要求,请参见一般要求

应通过安装媒体安装 openSUSE Leap Micro 6.1 服务器。下面介绍此过程。

3. 容器主机要求

有关 CPU、RAM 和存储要求,请参见硬件要求

为了保证客户端能够解析 FQDN 域名,容器化服务器和主机都必须连接到正常运行的 DNS 服务器。此外,必须确保反向查找的配置正确。

4. Installing Uyuni Tools for Use With Containers

过程:在 openSUSE Leap Micro 6.1 上安装 Uyuni 工具
  1. 在本地主机上打开终端窗口,或启动一个运行 openSUSE Leap Micro 6.1 的虚拟机。

  2. Log in.

  3. 输入 transactional-update shell

    transactional-update shell
  4. 将以下储存库添加到 openSUSE Leap Micro 6.1 服务器:

    zypper ar https://download.opensuse.org/repositories/systemsmanagement:/Uyuni:/Stable/images/repo/Uyuni-Proxy-POOL-$(arch)-Media1/ uyuni-proxy-stable
  5. 刷新储存库列表并接受密钥:

    zypper ref
  6. 安装容器工具:

    zypper in mgrpxy mgrpxy-bash-completion uyuni-storage-setup-proxy

    或者,可以安装 mgrpxy-zsh-completionmgrpxy-fish-completion

  7. 退出事务外壳:

    transactional update # exit
  8. 重引导主机。

有关 Uyuni 容器实用程序的详细信息,请参见 Uyuni 容器实用程序

5. 配置自定义永久性存储

此步骤是可选的。但是,如果您的基础架构需要自定义的永久性存储,请使用 mgr-storage-proxy 工具。

  • 有关详细信息,请参见 mgr-storage-proxy --help。此工具可以简化容器存储和 Squid 缓存卷的创建。

如下所示使用命令:

mgr-storage-proxy <存储磁盘设备>

例如:

mgr-storage-proxy /dev/nvme1n1

此命令将在 /var/lib/containers/storage/volumes 中创建永久性存储卷。

有关详细信息,请参见

6. 将代理主机作为受控端进行引导

任务:引导代理主机
  1. 选择系统  引导

  2. 填写代理主机的相关字段。

  3. 从下拉列表中选择上一步骤中创建的激活密钥。

  4. 单击 + 引导

  5. 等待引导过程成功完成。检查 Salt 菜单,确认 Salt 受控端密钥已列出并已接受。

  6. 重引导代理主机。

  7. 系统列表中选择主机,并在所有事件完成后再次触发重引导以完成初始配置。

任务:更新代理主机
  1. 系统列表中选择主机,并应用所有补丁以将其更新。

  2. 重引导代理主机。

7. 生成代理配置

SUSE Multi-Linux Manager 代理的配置存档由 SUSE Multi-Linux Manager 服务器生成。每个附加代理都需要自身的配置存档。

在生成此代理配置之前,必须将 SUSE Multi-Linux Manager 代理的容器主机作为 Salt 受控端注册到 SUSE Multi-Linux Manager 服务器。

您将执行以下任务:

Procedure:
  1. 生成代理配置文件。

  2. 将配置传输到代理。

  3. 使用 mgrpxy 命令启动代理。

任务:使用 Web UI 生成代理容器配置
  1. 在 Web UI 中,导航到系统  代理配置,然后填写所需数据:

  2. 代理 FQDN字段中,键入代理的完全限定域名。

  3. 父 FQDN字段中,键入 SUSE Multi-Linux Manager 服务器或另一个 SUSE Multi-Linux Manager 代理的完全限定域名。

  4. 代理 SSH 端口字段中,键入 SSH 服务在 SUSE Multi-Linux Manager 代理上监听的 SSH 端口。建议保留默认值 8022。

  5. 最大 Squid 缓存大小 [MB]字段中,键入允许的最大 Squid 缓存大小。一般该值最多应为容器可用存储空间的 60 %。

  6. SSH 证书选择列表中,选择应为 SUSE Multi-Linux Manager 代理生成新服务器证书还是使用现有证书。您可以考虑作为 SUSE Multi-Linux Manager 内置(自我签名)证书生成的证书。

    然后根据所做的选择提供用于生成新证书的签名 CA 证书的路径,或者要用作代理证书的现有证书及其密钥的路径。

    在服务器上生成的 CA 证书存储在 /var/lib/containers/storage/volumes/root/ssl-build 目录中。

    有关现有或自定义证书的详细信息以及企业和中间证书的概念,请参见 导入 SSL 证书

  7. 单击 生成 以在 SUSE Multi-Linux Manager 服务器中注册新代理 FQDN,并生成包含容器主机细节的配置存档。

  8. 片刻之后,系统会显示文件可供下载。请将此文件保存在本地。

8. 传输代理配置

Web UI 将生成配置存档。需要在代理容器主机上提供此存档。

任务:复制代理配置
  1. 将服务器容器中的文件复制到服务器主机操作系统:

    mgrctl cp server:/root/config.tar.gz
  2. 接下来,将服务器主机操作系统中的文件复制到代理主机:

    scp config.tar.gz <代理 FQDN>:/root
  3. 使用以下命令安装代理:

    mgrpxy install podman config.tar.gz

9. 启动 SUSE Multi-Linux Manager 5.1 代理

现在可以使用 mgrpxy 命令启动容器:

任务:启动代理并检查状态
  1. 调用以下命令启动代理:

    mgrpxy start
  2. 调用以下命令检查容器状态:

    mgrpxy status

    应该会显示以下五个 SUSE Multi-Linux Manager 代理容器,并且它们应该是 proxy-pod 容器 Pod 的一部分:

    • proxy-salt-broker

    • proxy-httpd

    • proxy-tftpd

    • proxy-squid

    • proxy-ssh

9.1. 为服务使用自定义容器映像

默认情况下,SUSE Multi-Linux 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

此命令首先将所有服务的配置重置为全局默认值,然后重新装载配置。