SOP по добавлению узла OCP4 в существующий кластер
-
Кластер Red Hat OpenShift Container Platform 4.x был установлен некоторое время назад (более 1 дня) и требуются дополнительные рабочие узлы для увеличения ёмкости кластера.
Шаги
-
Добавьте новые узлы в файл инвентаря Ansible в соответствующую группу.
напр.:
[ocp_workers] worker01.ocp.rdu3.fedoraproject.org worker02.ocp.rdu3.fedoraproject.org worker03.ocp.rdu3.fedoraproject.org [ocp_workers_stg] worker01.ocp.stg.rdu3.fedoraproject.org worker02.ocp.stg.rdu3.fedoraproject.org worker03.ocp.stg.rdu3.fedoraproject.org worker04.ocp.stg.rdu3.fedoraproject.org worker05.ocp.stg.rdu3.fedoraproject.org
-
Добавьте новые hostvars для каждого добавляемого хоста, см. следующие примеры для хостов
VMиbaremetal.# ВМ control plane inventory/host_vars/ocp01.ocp.rdu3.fedoraproject.org # вычислительный baremetal inventory/host_vars/worker01.ocp.rdu3.fedoraproject.org
-
Если узлы являются
computeилиworker, они также должны быть добавлены в следующие group_vars:proxiesдля production,proxies_stgдля тестового экземпляраinventory/group_vars/proxies:ocp_nodes: inventory/group_vars/proxies_stg:ocp_nodes_stg:
-
Необходимо внести изменения в файл
roles/dhcp_server/files/dhcpd.conf.noc01.rdu3.fedoraproject.orgдля DHCP, чтобы узел получил IP-адрес на основе своего MAC-адреса, а также чтобы узлу было указано обращаться кnext-server, где он может найти конфигурацию загрузки UEFI.host worker01-ocp { # ОБНОВИТЕ ЭТО hardware ethernet 68:05:CA:CE:A3:C9; # ОБНОВИТЕ ЭТО fixed-address 10.16.163.123; # ОБНОВИТЕ ЭТО filename "uefi/grubx64.efi"; next-server 10.16.163.10; option routers 10.16.163.254; option subnet-mask 255.255.255.0; } -
Необходимо внести изменения в DNS. Для этого нужно быть участником группы
sysadmin-main; если вы не являетесь таковым, необходимо отправить запрос с патчем в список рассылки Fedora Infra для проверки, который затем будет объединён участниками sysadmin-main.См. следующие примеры для узлов
worker01.ocpдля production и staging.master/163.3.10.in-addr.arpa:123 IN PTR worker01.ocp.rdu3.fedoraproject.org. master/166.3.10.in-addr.arpa:118 IN PTR worker01.ocp.stg.rdu3.fedoraproject.org. master/rdu3.fedoraproject.org:worker01.ocp IN A 10.16.163.123 master/stg.rdu3.fedoraproject.org:worker01.ocp IN A 10.16.166.118
-
Запустите плейбук для обновления конфигурации haproxy для мониторинга новых узлов и добавления их в балансировщик нагрузки.
sudo rbac-playbook groups/noc.yml -t "tftp_server,dhcp_server" sudo rbac-playbook groups/proxies.yml -t 'haproxy,httpd'
-
DHCP указывает узлу обращаться к
next-serverпри получении IP-адреса.next-serverзапускает tftp-сервер, содержащий ядро, initramfs и конфигурацию загрузки UEFI.uefi/grub.cfg. В этом grub.cfg содержится следующее, относящееся к узлам OCP4:menuentry 'RHCOS 4.8 worker staging' { linuxefi images/RHCOS/4.8/x86_64/rhcos-4.8.2-x86_64-live-kernel-x86_64 ip=dhcp nameserver=10.16.163.33 coreos.inst.install_dev=/dev/sda coreos.live.rootfs_url=http://10.16.166.50/rhcos/rhcos-4.8.2-x86_64-live-rootfs.x86_64.img coreos.inst.ignition_url=http://10.16.166.50/rhcos/worker.ign initrdefi images/RHCOS/4.8/x86_64/rhcos-4.8.2-x86_64-live-initramfs.x86_64.img } menuentry 'RHCOS 4.8 worker production' { linuxefi images/RHCOS/4.8/x86_64/rhcos-4.8.2-x86_64-live-kernel-x86_64 ip=dhcp nameserver=10.16.163.33 coreos.inst.install_dev=/dev/sda coreos.live.rootfs_url=http://10.16.163.65/rhcos/rhcos-4.8.2-x86_64-live-rootfs.x86_64.img coreos.inst.ignition_url=http://10.16.163.65/rhcos/worker.ign initrdefi images/RHCOS/4.8/x86_64/rhcos-4.8.2-x86_64-live-initramfs.x86_64.img }При загрузке узла и чтении этой конфигурации загрузки UEFI необходимо вручную выбрать пункт меню:
-
Чтобы добавить узел в тестовый кластер, выберите:
RHCOS 4.8 worker staging -
Чтобы добавить узел в производственный кластер, выберите:
RHCOS 4.8 worker production
-
-
Подключитесь к узлу
os-control01, соответствующему среде, в которую добавляется новый узел.Убедитесь, что вы аутентифицированы в кластере OpenShift как пользователь
system:admin.oc whoami system:admin
-
В конфигурации загрузочного меню UEFI содержатся ссылки на веб-сервер, работающий на хосте
os-control01, специфичном для среды. Этот сервер должен запускаться только при переустановке существующего узла или установке нового. Запустите его вручную с помощью systemctl:systemctl start httpd.service
-
Загрузите узел и выберите соответствующий пункт меню для установки узла в нужный кластер. Дождитесь появления приглашения SSH с именем узла. В процессе он может перезагружаться несколько раз.
-
По мере подготовки новых узлов они будут пытаться присоединиться к кластеру. Их необходимо сначала принять. На узле
os-control01выполните следующее:# Список сертификатов. Если вы видите статус pending, это рабочие/вычислительные узлы пытаются присоединиться к кластеру. Их необходимо утвердить. oc get csr # Принять все CSR узлов одной строкой oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approveЭтот процесс обычно необходимо повторить дважды для каждого нового узла.
Для получения более подробной информации о добавлении новых рабочих/вычислительных узлов в кластер OCP4 на основе инфраструктуры, подготовленной пользователем, см. подробные шаги в [1], [2].
Want to help? Learn how to contribute to Fedora Docs ›