1.3.2. 为 OpenShift Container Platform 安装准备 provisioner 序节点
执行以下步骤准备环境。
流程
-
通过
ssh
登录到 provisioner 节点。 创建一个非 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
为新用户生成
ssh
密钥。# su - kni -c "ssh-keygen -t ed25519 -f /home/kni/.ssh/id_rsa -N ''"
使用新创建的用户登陆到 provisioner 节点。
# su - kni $
使用 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
注意有关 Red Hat Subscription Manager 的详情,请查看使用和配置 Red Hat Subscription Manager。
安装以下软件包。
$ sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
修改用户以便为新创建的用户中添加
libvirt
组。$ sudo usermod --append --groups libvirt <user>
重启
firewalld
并启用http
服务。$ sudo systemctl start firewalld $ sudo firewall-cmd --zone=public --add-service=http --permanent $ sudo firewall-cmd --reload
启动并启用
libvirtd
服务。$ sudo systemctl enable libvirtd --now
创建
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
配置网络。
注意此步骤也可以从 web 控制台运行。
$ export PUB_CONN=<baremetal_nic_name> $ export PROV_CONN=<prov_nic_name> $ sudo nohup bash -c " nmcli con down \"$PROV_CONN\" nmcli con down \"$PUB_CONN\" nmcli con delete \"$PROV_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 provisioning type bridge con-name provisioning nmcli con add type bridge-slave ifname \"$PROV_CONN\" master provisioning 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 nmcli connection modify provisioning ipv6.addresses fd00:1101::1/64 ipv6.method manual nmcli con down provisioning nmcli con up provisioning "
注意执行此步骤后
ssh
连接可能会断开。只要无法通过
baremetal
网络路由,IPv6 地址可以是任何地址。在使用 IPv6 地址时,请确保启用了 UEFI,并且将 UEFI PXE 设置设为 IPv6 协议。
在
provisioning
网络连接上配置 IPv4 地址。$ nmcli connection modify provisioning ipv4.addresses 172.22.0.254/24 ipv4.method manual
重新
ssh
到provisioner
节点(如果需要)。# ssh kni@provisioner.<cluster-name>.<domain>
验证连接桥接是否已正确创建。
$ sudo nmcli con show
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
创建一个
pull-secret.txt
文件。$ vim pull-secret.txt
在 Web 浏览器中,进入 Install on Bare Metal with user-provisioned infrastructure,再向下滚动到 Downloads 部分。点 Copy pull secret。将内容粘贴到
pull-secret.txt
文件中,并将内容保存到kni
用户的主目录中。