8.3.2. 为 OpenShift Container Platform 安装准备 provisioner 序节点


执行以下步骤准备环境。

流程

  1. 通过 ssh 登录到 provisioner 节点。
  2. 创建非 root 用户(kni)并为该用户提供 sudo 权限:

    # useradd kni
    # passwd kni
    # echo "kni ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/kni
    # chmod 0440 /etc/sudoers.d/kni
    Copy to Clipboard Toggle word wrap
  3. 为新用户创建 ssh 密钥:

    # su - kni -c "ssh-keygen -t ed25519 -f /home/kni/.ssh/id_rsa -N ''"
    Copy to Clipboard Toggle word wrap
  4. 以新用户身份在 provisioner 节点上登录:

    # su - kni
    $
    Copy to Clipboard Toggle word wrap
  5. 使用 Red Hat Subscription Manager 注册 provisioner 节点:

    $ sudo subscription-manager register --username=<user> --password=<pass> --auto-attach
    $ sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhel-8-for-x86_64-baseos-rpms
    Copy to Clipboard Toggle word wrap
    注意

    有关 Red Hat Subscription Manager 的详情,请查看使用和配置 Red Hat Subscription Manager

  6. 安装以下软件包:

    $ sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
    Copy to Clipboard Toggle word wrap
  7. 修改用户,将 libvirt 组添加到新创建的用户:

    $ sudo usermod --append --groups libvirt <user>
    Copy to Clipboard Toggle word wrap
  8. 重启 firewalld 并启用 http 服务:

    $ sudo systemctl start firewalld
    $ sudo firewall-cmd --zone=public --add-service=http --permanent
    $ sudo firewall-cmd --reload
    Copy to Clipboard Toggle word wrap
  9. 启动并启用 libvirtd 服务:

    $ sudo systemctl enable libvirtd --now
    Copy to Clipboard Toggle word wrap
  10. 创建 default 存储池并启动它:

    $ sudo virsh pool-define-as --name default --type dir --target /var/lib/libvirt/images
    $ sudo virsh pool-start default
    $ sudo virsh pool-autostart default
    Copy to Clipboard Toggle word wrap
  11. 配置网络。

    注意

    您还可以从 Web 控制台配置网络。

    导出 baremetal 网络 NIC 名称:

    $ export PUB_CONN=<baremetal_nic_name>
    Copy to Clipboard Toggle word wrap

    配置 baremetal 网络:

    $ sudo nohup bash -c "
        nmcli con down \"$PUB_CONN\"
        nmcli con delete \"$PUB_CONN\"
        # RHEL 8.1 appends the word \"System\" in front of the connection, delete in case it exists
        nmcli con down \"System $PUB_CONN\"
        nmcli con delete \"System $PUB_CONN\"
        nmcli connection add ifname baremetal type bridge con-name baremetal
        nmcli con add type bridge-slave ifname \"$PUB_CONN\" master baremetal
        pkill dhclient;dhclient baremetal
    "
    Copy to Clipboard Toggle word wrap

    如果要使用 provisioning 网络部署,请导出 provisioning 网络 NIC 名称:

    $ export PROV_CONN=<prov_nic_name>
    Copy to Clipboard Toggle word wrap

    如果要使用 provisioning 网络部署,请配置 provisioning 网络:

    $ sudo nohup bash -c "
        nmcli con down \"$PROV_CONN\"
        nmcli con delete \"$PROV_CONN\"
        nmcli connection add ifname provisioning type bridge con-name provisioning
        nmcli con add type bridge-slave ifname \"$PROV_CONN\" master provisioning
        nmcli connection modify provisioning ipv6.addresses fd00:1101::1/64 ipv6.method manual
        nmcli con down provisioning
        nmcli con up provisioning
    "
    Copy to Clipboard Toggle word wrap
    注意

    执行这些步骤后 ssh 连接可能会断开。

    只要无法通过 baremetal 网络路由,IPv6 地址可以是任何地址。

    在使用 IPv6 地址时,请确保启用了 UEFI,并且将 UEFI PXE 设置设为 IPv6 协议。

  12. provisioning 网络连接上配置 IPv4 地址。

    $ nmcli connection modify provisioning ipv4.addresses 172.22.0.254/24 ipv4.method manual
    Copy to Clipboard Toggle word wrap
  13. 重新 sshprovisioner 节点(如果需要)。

    # ssh kni@provisioner.<cluster-name>.<domain>
    Copy to Clipboard Toggle word wrap
  14. 验证连接桥接是否已正确创建。

    $ sudo nmcli con show
    Copy to Clipboard Toggle word wrap
    NAME               UUID                                  TYPE      DEVICE
    baremetal          4d5133a5-8351-4bb9-bfd4-3af264801530  bridge    baremetal
    provisioning       43942805-017f-4d7d-a2c2-7cb3324482ed  bridge    provisioning
    virbr0             d9bca40f-eee1-410b-8879-a2d4bb0465e7  bridge    virbr0
    bridge-slave-eno1  76a8ed50-c7e5-4999-b4f6-6d9014dd0812  ethernet  eno1
    bridge-slave-eno2  f31c3353-54b7-48de-893a-02d2b34c4736  ethernet  eno2
    Copy to Clipboard Toggle word wrap
  15. 创建一个 pull-secret.txt 文件。

    $ vim pull-secret.txt
    Copy to Clipboard Toggle word wrap

    在 Web 浏览器中,导航到 Install OpenShift on Bare Metal with Installer-provisioned infrastructure,然后滚动到 Downloads 部分。点 Copy pull secret。将内容粘贴到 pull-secret.txt 文件中,并将内容保存到 kni 用户的主目录中。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat