代理迁移

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

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

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

由于主机操作系统已从 SUSE Linux Enterprise Server 15 SP4 更改为 openSUSE Leap Micro 5.5,因此仍不支持从 SUSE Manager 的先前版本进行就地迁移

SUSE Manager 5.0 及更高版本不再支持传统联系协议。从 SUSE Manager 迁移到 SUSE Manager 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 代理迁移到 SUSE Manager 5.0 容器化代理

任务:将 SUSE Manager 容器化代理迁移到 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