Klaster OKD (OpenShift) na maszynach wirtualnych Proxmox – Zakończenie instalacji

Klaster OKD (OpenShift) na maszynach wirtualnych Proxmox

Monitorowanie przebiegu instalacji klastra

# na maszynie bastion
openshift-install --dir=install_dir/ wait-for bootstrap-complete --log-level=info
# lub
openshift-install --dir=install_dir/ wait-for bootstrap-complete --log-level=debug
# na maszynie bastion
ssh -i /home/bastuser/.ssh/id_ed25519 [email protected]
# na maszynie bootstrap
journalctl -f -u bootkube.service
# na maszynie bastion
ssh -i /home/bastuser/.ssh/id_ed25519 [email protected]
ssh -i /home/bastuser/.ssh/id_ed25519 [email protected]
ssh -i /home/bastuser/.ssh/id_ed25519 [email protected]
# na dowolnym control-plane
journalctl -b -f -u kubelet.service

Jeśli na dowolnym control-plane pojawi się poniższy błąd tego typu to należy zaakceptować czekające na akceptację certyfikaty (patrz opis poniżej)

Można też podglądać status powstajacego klastra korzystając z jego API

# z maszyny bastion
curl -k https://api.testcluster.okdlab.local:6443/healthz
ok

Generalnie problemy z instalacją klastra mogą wynikać najczęściej z:

  • błędów w konfiguracji serwera DNS. Dlatego ważnej jest odpytanie wszystkich adresów w z pliku strefy okdlab.local i weryfikacja rozwiązywania nazw forward i reverse przez narzędzie nslookup i dig.
  • błędnego wprowadzenie któregoś z parametrów kernel podczas pierwszego uruchamiania maszyny bootstrap, control-plane-x, compute-x
  • czekających na akceptację w kolejce żądań akceptacji certyfifkatów

Wyłączenie maszyny bootstrap

Po skończonej instalacji klastra można już wyłączyć maszynę bootstrap zwalniając zasoby serwera (hosta) oraz zakomentować wpis w HAProxy dotyczący bootstrap (nie jest to konieczne).

sudo sed '/ bootstrap /s/^/#/' /etc/haproxy/haproxy.cfg
sudo systemctl reload haproxy

Wyłączenie maszyny bootstrap po instalacja klastra zwolni ok. 6 GB pamięci RAM.

Akceptacja CSR na klastrze

Prawdopodobnie trzeba będzie kilka razy akceptować certyfikaty podczas budowania klastra. Dlatego dobrze jest na maszynie bastion po utworzeniu pierwszego control-plane-x (mastera) zalogować się do klastra.

# na maszynie bastion
export KUBECONFIG=~/install_dir/auth/kubeconfig
oc whoami
oc get nodes
oc get csr

Sprawdzamy certyfikaty do akceptacji i akceptujemy je

oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve

Sprawdzamy listę nodów w budującym się klastrze sprawdzając co jakiś czas czy mają już status Ready

# na maszynie bastion
oc get nodes
lub
oc get nodes -o wide

Również ważne jest aby wszystkie wymagane funkcjonalności klastra były dostępne co może wymagać ok 1 godziny czasu (Available = True z wyjątkiem funkcjonalności metryk, która zostanie włączona osobno)

oc get clusteroperators

Zalogowanie do konsoli OKD

Po skończonej instalacji klastra można zalogować się do konsolui GUI klastra OKD (OpenShift) pod adresem https://console-openshift-console.apps.testcluster.okdlab.local

# podgląd aktualnego hasła dla użytkownika kubeadmin
cat install_dir/auth/kubeadmin-password

Jeśli wpisaliśmy poprawnie login: kubeadmin i hasło (z powyższego pliku) to naszym oczom po chwili ukaże się konsola graficzna OKD (OpenShift).

Klaster jest teraz gotowy do działania i dalszej konfiguracji oraz instalacji nowych projektów OpenShfit.

LPNazwa DNSAdres ipvCPUvRAMvHDDSystem OperacyjnyFunkcja
1dns1.okdlab.local192.168.40.1022 GB16 GBFedora Server 41DNS dla klastra
2storage.okdlab.local192.168.40.2024 GB128 GBFedora Server 41Storage NFS dla klastra
2bootstrap.testcluster.okdlab.local192.168.40.30416 GB128 GBFedora CoreOS 39Bootstrap node
3bastion.okdlab.local192.168.40.4044 GB128 GBFedora Server 41Haproxy Load balancer / instalacja
4control-plane-1.testcluster.okdlab.local192.168.40.51416 GB128 GBFedora CoreOS 39Master node
5control-plane-2.testcluster.okdlab.local192.168.40.52416 GB128 GBFedora CoreOS 39Master node
6control-plane-3.testcluster.okdlab.local192.168.40.53416 GB128 GBFedora CoreOS 39Master node
7compute-1.testcluster.okdlab.local192.168.40.61416 GB128 GBFedora CoreOS 39Worker node
8compute-2.testcluster.okdlab.local192.168.40.62416 GB128 GBFedora CoreOS 39Worker node