代理迁移

在 SUSE Manager 2024.04 中,容器化代理由一组 systemd 服务进行管理。

在 SUSE Manager 5.0 中,容器化代理管理功能经过重新设计,并已通过 mgrpxy 工具进行简化。

本节帮助您使用新的 mgrpxy 工具从旧版 systemd 代理迁移。

由于 HostOS 已从 SUSE Linux Enterprise Server 15 SP4 更改为 openSUSE Leap Micro 5.5,因此仍不支持从 SUSE Manager 2024.04 到 2024.06 的就地迁移

SUSE Manager 5.0 及更高版本不再支持传统联系协议。在从 SUSE Manager 2024.04 迁移到 5.0 之前,必须将所有现有的传统客户端(包括传统代理)迁移到 Salt。

有关将传统 SUSE Manager 2024.04 客户端迁移到 Salt 客户端的详细信息,请参见 https://documentation.suse.com/suma/4.3/en/suse-manager/client-configuration/contact-methods-migrate-traditional.html

1. 使用 Systemd 从旧版迁移到容器化代理

1.1. 生成代理配置

任务:生成代理配置
  1. 登录到 SUSE Manager 服务器 Web UI。

  2. 在左侧导航栏中,选择系统  代理配置

  3. 输入您的代理 FQDN。使用与原始代理主机相同的 FQDN。

  4. 输入您的服务器 FQDN。

  5. 输入代理端口号。我们建议使用默认端口 8022

  6. 证书和私用密钥位于服务器容器主机上的 /var/lib/containers/storage/volumes/root/_data/ssl-build/ 中。

    • RHN-ORG-TRUSTED-SSL-CERT

    • RHN-ORG-PRIVATE-SSL-KEY

  7. 使用以下命令将证书和密钥复制到您的计算机:

    scp root@uyuni-server-example.com:/root/ssl-build/RHN-ORG-PRIVATE-SSL-KEY
    scp root@uyuni-server-example.com:/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT
  8. 选择 选择文件 并在本地计算机上通过浏览找到证书。

  9. 选择 选择文件 并在本地计算机上通过浏览找到私用密钥。

  10. 输入 CA 口令。

  11. 单击 生成

1.2. 将代理配置传输到新主机

任务:传输代理配置
  1. 在服务器中,将生成的包含代理配置的 tar.gz 文件传输到新代理主机:

    scp config.tar.gz <uyuni 代理 FQDN>:/root/
  2. 在执行下一步之前,请先禁用旧版代理:

    Listing 1. 禁用旧版代理
    spacewalk-proxy stop
  3. 使用以下命令部署新代理:

    systemctl start uyuni-proxy-pod
  4. 使用以下命令启用新代理:

    systemctl enable --now uyuni-proxy-pod
  5. 运行 podman ps 来校验所有容器是否存在并正在运行:

    proxy-salt-broker
    proxy-httpd
    proxy-tftpd
    proxy-squid
    proxy-ssh

2. 将 SUSE Manager 2024.04 代理迁移到 SUSE Manager 5.0 容器化代理

任务:将 SUSE Manager 2024.04 容器化代理迁移到 SUSE Manager 5.0 新容器化代理
  1. 引导新计算机,然后开始安装 openSUSE Leap Micro 5.5。

  2. 完成安装。

  3. 更新系统:

    transactional-update --continue
  4. 安装 mgrpxy,并根据需要安装 mgrpxy-bash-completion

    transactional-update pkg install mgrpxy mgrpxy-bash-completion
  5. 重引导。

  6. 将 tar.gz 代理配置复制到主机。

3. 使用 Web UI 安装软件包

在受控端已引导并已注册到服务器后,还可以通过 Web UI 安装 mgrpxymgrpxy-bash-completion 软件包。

任务:使用 Web UI 安装软件包
  1. 安装后,确保在管理  安装向导 → 产品页面中添加并同步 SLE Micro 5.5 父通道和代理子通道。

  2. 在 Web UI 中,转到系统  激活密钥,并创建一个与已同步 SLE Micro 5.5 通道链接的激活密钥。

  3. 使用系统  引导页面将系统作为受控端进行引导。

  4. 在初始配置新计算机并且其显示在系统列表中后,选择系统并导航到系统细节  安装软件包页面。

  5. 安装软件包 mgrpxymgrpxy-bash-completion

  6. 重引导系统。

4. 使用 spacecmd 和自我签名证书生成代理配置

任务:使用 spacecmd 和自我签名证书生成代理配置

可以使用 spacecmd 生成代理配置。

  1. 通过 SSH 连接到您的容器主机。

  2. 执行以下命令(替换其中的服务器和代理 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'
  3. 将生成的配置复制到代理:

    mgrctl cp server:/tmp/config.tar.gz
  4. 使用以下命令部署代理:

    mgrpxy install podman config.tar.gz

5. 使用 spacecmd 和自定义证书生成代理配置

可以使用 spacecmd 为自定义证书(而不是默认的自我签名证书)生成代理配置。

2 GB 表示默认的代理 squid 缓存大小。需要根据您的环境调整此大小。

任务:使用 spacecmd 和自定义证书生成代理配置
  1. 通过 SSH 连接到您的服务器容器主机。

  2. 执行以下命令(替换其中的服务器和代理 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'
  3. 将生成的配置复制到代理:

    mgrctl cp server:/tmp/config.tar.gz
  4. 使用以下命令部署代理:

    mgrpxy install podman config.tar.gz