Klaster OKD (OpenShift) na maszynach wirtualnych Proxmox – Uruchomienie maszyn Compute

Klaster OKD (OpenShift) na maszynach wirtualnych Proxmox

Funkcje maszyn Compute w klastrze (worker)

Węzeł obliczeniowy (node) w klastrze OKD (OpenShift Kubernetes Distribution) to węzeł roboczy (worker) , który wykonuje podstawową funkcję uruchamiania obciążeń aplikacji. Te węzły są odpowiedzialne za hostowanie konteneryzowanych aplikacji i usług w klastrze. Oto podział jego kluczowych ról i cech:

Kluczowe role węzła obliczeniowego:

Hosting obciążeń:

Uruchamia kontenery (które są najmniejszymi wdrażalnymi jednostkami w Kubernetes) zawierające kontenery aplikacji.
Obsługuje różnorodne obciążenia, takie jak serwery WWW, bazy danych lub zadania wsadowe.
Zarządzanie zasobami:

Zapewnia zasoby procesora, pamięci i pamięci masowej potrzebne do uruchamiania kontenerów.
Przydziela zasoby dynamicznie na podstawie żądań i limitów zdefiniowanych w specyfikacjach kontenerów.
Sieć:

Zapewnia komunikację między kontenerami, usługami i innymi węzłami za pomocą sieci klastra.
Obsługuje ruch przychodzący/wychodzący zgodnie z konfiguracją.
Skalowanie:

Uczestniczy w skalowaniu poziomym poprzez zwiększanie lub zmniejszanie liczby węzłów w klastrze w celu dopasowania do wymagań obciążenia.
Planowanie:

Współpracuje z płaszczyzną sterowania, która określa, które węzły obliczeniowe powinny obsługiwać określone obciążenia na podstawie czynników, takich jak dostępność zasobów, skazy, tolerancje i reguły powinowactwa.

Przygotowanie maszyny wirtualnej Compute

Wykorzystany obraz systemu Fedora CoreOS 39 jest do pobrania z tego linku https://ftp.pcss.pl/linux/coreos/fedora-coreos-39.20231101.3.0-live.x86_64.iso Po przegraniu obrazu na isostore Proxmoxa możemy rozpocząć instalację systemu. Obraz ten jest nam potrzebny jedynie do momentu wpisania parametrów kernela. Dalsza instalacja odbywa się bowiem z udostępnionego pliku http://192.168.40.40:8080/okd4/fcos.raw.xz

Tworzymy 2 nowe maszyny wirtualne o id 4061 ,4062 i nazwie compute-1,compute-2 z podanymi parametrami:

  • Machine : q35, Qemu Agent (włączone)
  • 128 GB HDD, SCSI VirtIO Single, Cache: Write Back
  • 4 vCPU – 2 x Sockets, Enable NUMA (włączone) , Type: Host
  • 16 GB RAM , Balloning Device (włączone)
  • Bridge: vmbr4, Model: VirtIO

Przed pierwszym uruchomieniem kopiujemy MAC addressy maszyn do /etc/dnsmasq.d/vnet na maszynie LXC dnsmasq.

Instalacja maszyn Compute

Zaraz po uruchomieniu maszyny wirtualnej i widoku Console w Proxmox należy wcisnąć TAB i wpisać poniższe parametry uruchomienia kernela

coreos.inst.install_dev=/dev/sda coreos.inst.image_url=http://192.168.40.40:8080/okd4/fcos.raw.xz coreos.inst.ignition_url=http://192.168.40.40:8080/okd4/worker.ign

Wpisujemy ręcznie powyższe parametry kernela

Czekamy na instalację systemu

Na koniec czeka nas jeszcze 1 dodatkowy restart i przejście do ekranu login. d spodem jednak następuje szereg akcji, w której maszyna próbuje dołączyć do klastra. Dlatego ważne jest śledzenie logów i postępu instalacji.

Więcej informacji o śledzeniu postępu instalacji maszyn compute-x (worker) można znaleźć tutaj https://itadmin.vblog.ovh/klaster-okd-openshift-na-maszynach-wirtualnych-proxmox-zakonczenie-instalacji/

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