Spis treść
- Przygotowanie maszyn wirtualnych Bootstrap, Master, Worker
- Ustawienie sieci i instalacja dla maszyny Bootstrap
- Ustawienie sieci i instalacja dla maszyny Master 1,2,3
- Ustawienie sieci i instalacja dla maszyny Worker 1,2,3
- Monitorowanie przebiegu instalacji klastra
- Zalogowanie się do konsoli graficznej OpenShift
Przygotowanie maszyn wirtualnych Bootstrap, Master, Worker
Na podstawie poniższej tabeli należy utworzyć maszyny wirtualnej od pozycji 9 do 15, z nazwami z pierwszego członu adresu dns np. control-plane-1 oraz id proxmox 9 równym trzeciemu i czwartemu oktetowi adresu ip. np. 4051. Wszystkie maszyny mają identyczną konfigurację vCPU i vRAM z wyjątkiem rozmiar dysku dla maszyn typu Worker wynoszącym 256 GB. Ze strony https://cloud.centos.org/centos/scos/9/prod/streams/9.0.20250510-0/x86_64/ należy pobrać do isostore Proxmox 9: scos-9.0.20250510-0-live-iso.x86_64.iso
| LP | Nazwa DNS | Adres ip | vCPU | vRAM | vHDD | System Operacyjny | Funkcja |
|---|---|---|---|---|---|---|---|
| 1 | dns1.okdlab.local | 192.168.40.10 | 2 | 2 GB | 16 GB | Fedora Server 43 | DNS dla klastra |
| 2 | proxy.okdlab.local | 192.168.40.15 | 2 | 2 GB | 16 GB | Fedora Server 43 | HAProxy / Load balancer / instalacja |
| 3 | storage.okdlab.local | 192.168.40.20 | 2 | 2 GB | 16/64/128 GB | Fedora Server 43 | Storage NFS dla klastra, registry OpenShift |
| 4 | database-1.okdlab.local | 192.168.40.25 | 2 | 4 GB | 32 GB | Fedora Server 43 | Serwer baz danych PostgreSQL |
| 5 | database-2.okdlab.local | 192.168.40.26 | 2 | 4 GB | 32 GB | Fedora Server 43 | Serwer baz danych MariaDB |
| 6 | bastion.okdlab.local | 192.168.40.30 | 4 | 4 GB | 128 GB | Fedora Server 43 | Instalacja i zarządzanie klastrem OKD |
| 7 | gitea.okdlab.local | 192.168.40.35 | 4 | 8 GB | 256 GB | Fedora Server 43 | Gitea |
| 8 | jenkins.okdlab.local | 192.168.40.37 | 8 | 16 GB | 256 GB | Fedora Server 43 | Jenkins |
| 9 | bootstrap.testcluster.okdlab.local | 192.168.40.50 | 4 | 16 GB | 128 GB | CentosOS Stream 9 | Bootstrap node |
| 10 | control-plane-1.testcluster.okdlab.local | 192.168.40.51 | 4 | 16 GB | 128 GB | CentosOS Stream 9 | Master node |
| 11 | control-plane-2.testcluster.okdlab.local | 192.168.40.52 | 4 | 16 GB | 128 GB | CentosOS Stream 9 | Master node |
| 12 | control-plane-3.testcluster.okdlab.local | 192.168.40.53 | 4 | 16 GB | 128 GB | CentosOS Stream 9 | Master node |
| 13 | compute-1.testcluster.okdlab.local | 192.168.40.61 | 4 | 16 GB | 256 GB | CentosOS Stream 9 | Worker node |
| 14 | compute-2.testcluster.okdlab.local | 192.168.40.62 | 4 | 16 GB | 256 GB | CentosOS Stream 9 | Worker node |
| 15 | compute-3.testcluster.okdlab.local | 192.168.40.63 | 4 | 16 GB | 256 GB | CentosOS Stream 9 | Worker node |

Na przykładzie maszyny Bootstrap pokazana jest przykładowa konfiguracja w Proxmox 9.

Tworzymy nową maszynę wirtualną o id 4050 i nazwie bootstrap podanymi parametrami:
- Machine : q35, Qemu Agent (włączone)
- 128 GB HDD, SCSI VirtIO Single, Cache: Write Back
- 4 vCPU – 1 x Sockets , Type: Host
- 16 GB RAM , Balloning Device (włączone)
- Bridge: vmbr4, Model: VirtIO

Po uruchomieniu do konsoli
- ustawiamy sieć
- ustawiamy nazwę
- uruchamiamy instalator z odpowiednimi dla danej maszyny parametrami
Ustawienie sieci i instalacja dla maszyny Bootstrap
sudo nmcli con mod "Wired connection 1" \ ipv4.addresses "192.168.40.50/24" \ ipv4.gateway "192.168.40.1" \ ipv4.dns "192.168.40.10" \ ipv4.dns-search "testcluster.okdlab.local okdlab.local" \ ipv4.method manual sudo nmcli con down "Wired connection 1" sudo nmcli con up "Wired connection 1" sudo hostnamectl set-hostname bootstrap.testcluster.okdlab.local hostnamectl sudo coreos-installer install /dev/sda \ --ignition-url http://192.168.40.15:8080/okd4/bootstrap.ign \ --image-url http://192.168.40.15:8080/okd4/scos.raw.gz \ --insecure-ignition \ --insecure \ --copy-network

Po uruchomieniu instalacji należy poczekać aż pojawi się informacja: Install complete wydać polecnie sudo reboot a następnie odmontować obraz iso z maszyny wirtualnej.

Gdy już pojawi się okno logowania to logujemy się na maszynie bastion

i możemy zgodnie z opisem na tej stronie https://itadmin.vblog.ovh/klaster-okd-openshift-na-maszynach-wirtualnych-proxmox-uruchomienie-maszyny-bootstrap/#3-weryfikacja-poprawno%C5%9Bci-dzia%C5%82ania-maszyny-bootstrap , diagnozować ewentualne problemy.
ssh -i /home/bastuser/ssh/id_ed25519 [email protected] journalctl -b -f -u release-image.service -u bootkube.service

Ustawienie sieci i instalacja dla maszyny Master 1,2,3
sudo nmcli con mod "Wired connection 1" \ ipv4.addresses "192.168.40.51/24" \ ipv4.gateway "192.168.40.1" \ ipv4.dns "192.168.40.10" \ ipv4.dns-search "testcluster.okdlab.local okdlab.local" \ ipv4.method manual sudo nmcli con down "Wired connection 1" sudo nmcli con up "Wired connection 1" sudo hostnamectl set-hostname control-plane-1.testcluster.okdlab.local hostnamectl sudo coreos-installer install /dev/sda \ --ignition-url http://192.168.40.15:8080/okd4/master.ign \ --image-url http://192.168.40.15:8080/okd4/scos.raw.gz \ --insecure-ignition \ --insecure \ --copy-network


Po uruchomieniu instalacji należy poczekać aż pojawi się informacja: Install complete wydać polecnie sudo reboot a następnie odmontować obraz iso z maszyny wirtualnej.
Więcej informacji o monitorowaniu przebiegu instalacji klastra można znaleźć na stronie https://itadmin.vblog.ovh/klaster-okd-openshift-na-maszynach-wirtualnych-proxmox-zakonczenie-instalacji/
# 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
Ustawienie sieci i instalacja dla maszyny Worker 1,2,3
sudo nmcli con mod "Wired connection 1" \ ipv4.addresses "192.168.40.61/24" \ ipv4.gateway "192.168.40.1" \ ipv4.dns "192.168.40.10" \ ipv4.dns-search "testcluster.okdlab.local okdlab.local" \ ipv4.method manual sudo nmcli con down "Wired connection 1" sudo nmcli con up "Wired connection 1" sudo hostnamectl set-hostname compute-1.testcluster.okdlab.local hostnamectl sudo coreos-installer install /dev/sda \ --ignition-url http://192.168.40.15:8080/okd4/worker.ign \ --image-url http://192.168.40.15:8080/okd4/scos.raw.gz \ --insecure-ignition \ --insecure \ --copy-network

Monitorowanie przebiegu instalacji klastra
Więcej informacji na stronie https://itadmin.vblog.ovh/klaster-okd-openshift-na-maszynach-wirtualnych-proxmox-zakonczenie-instalacji/
# 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
export KUBECONFIG=~/install_dir/auth/kubeconfig
oc whoami
# akceptacja certyfikatow podczas budowanuia klastra
oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve
# sprawdzenie dostepnych nodow w klastrze
oc get nodes
lub
oc get nodes -o wide
# sprawdzenie czy wszystkie wymagane funkcjonalności klastra są już dostępne
oc get clusteroperators
Wszystkie nody klastra powinny być Ready

A wszystkie składniki clusteroperators w stanie Available = True


Zalogowanie się do konsoli graficznej OpenShift
#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


