Kubernetes telepítési lehetőségek és eszközök áttekintése
Már van egy kialakult képünk és történeti hátterünk a Kubernetes-ről. Ezért ideje, hogy foglalkozzunk kicsit a telepítési lehetőségekkel és a legfontosabb eszközökkel. Igen. Kezdünk közelebb kerülni a gyakorlati dolgokhoz.
Kubernetes telepítési eszközök
Belekezdünk abba a részbe, ami a Kubernetes cluster (ejtsd: klaszter) telepítéséről és konfigurálásáról szól. Áttekintjük azokat a lehetőségeket, amelyekkel saját Kubernetes cluster-t hozhatsz létre, akár a saját gépeden, akár a felhőben. Bár a felhőszolgáltatók használata egyszerű és gyors megoldás, továbbra is számos indok szól az on-premise (hagyományos adatközpont) telepítés mellett, például a biztonság, az adatszuverenitás vagy a költséghatékonyság.
Gyors indulás felhőben vagy lokálisan
Kezdők számára hasznos lehet egy előre konfigurált környezet kipróbálása, mielőtt belevágnának egy saját cluster kézi telepítésébe. Ilyen esetekben több lehetőség közül is választhatunk:
- Google Kubernetes Engine (GKE) – a Google Cloud Platform szolgáltatása, amely lehetővé teszi, hogy a legfrissebb stabil Kubernetes verzióval rendelkező klasztert hozzunk létre néhány kattintással.
- Amazon Elastic Kubernetes Service (EKS) – az Amazon megoldása, amely részletesebb irányítást ad a vezérlőcsomópontok (control plane nodes) felett.
- Microsoft Azure Kubernetes Service (AKS) – hasonló funkcionalitással bír, mint a GKE és az EKS.
- DigitalOcean Kubernetes – egyszerű és költséghatékony belépőszintű alternatíva.
- Civo – amely hasonló a DigitalOcean-hoz, csak még egyszerűbben használható.
Lokális tanulókörnyezetek
Ha helyben szeretnél kipróbálni egy Kubernetes klasztert, az alábbi eszközök ideálisak tanulásra és fejlesztésre:
- Minikube – Egyetlen bináris fájl, amely például Oracle VirtualBox segítségével telepíti a klasztert. Bár csak egycsomópontos környezetet hoz létre, ideális tanulási és tesztelési célokra.
- MicroK8s – A Canonical által fejlesztett, könnyen telepíthető és funkciókban gazdag megoldás, amely fejlesztőknek és tesztelőknek egyaránt megfelelő.
- Docker Desktop (Kubernetes támogatással) – A Docker Desktop képes egyetlen kattintással Kubernetes cluster-t indítani. Fejlesztőknek kiváló választás, főként ha már egyébként is használják Docker környezetben a konténereket.
- Kind (Kubernetes IN Docker) – Olyan eszköz, amely lehetővé teszi a Kubernetes klaszterek futtatását Docker konténereken belül. Különösen hasznos CI/CD rendszerekhez és olyan helyzetekben, ahol gyorsan szeretnénk szimulálni több csomópontos környezetet.
- K3s – A Rancher által fejlesztett, könnyített Kubernetes disztribúció, amely alacsony erőforrásigényű környezetekben is jól fut. ARM architektúrán is kiválóan működik, például Raspberry Pi-n.
- K3d – A K3s konténeres változata, amely lehetővé teszi, hogy a K3s klaszterek Docker konténerekben fussanak. Gyors, könnyen kezelhető és kiválóan alkalmas tanulásra vagy integrációs tesztekre.

A kubectl használata
A Kubernetes vezérlőparancsokat a kubectl eszközön keresztül adhatjuk ki. Ez a parancssori eszköz elengedhetetlen a klaszterek konfigurálásához és menedzseléséhez. A használata a Kubernetes kezelésben és jövőben is központi szerepet fog kapni, így érdemes alaposan megismerni.
A kubectl
az alábbi helyen tárolja a konfigurációs fájlokat: $HOME/.kube/config
. Ez a fájl tartalmazza az elérhető cluster-ek címeit (endpoint), hitelesítési adatokat, valamint az úgynevezett kontektsusokat (context).
Egy kontextus egy adott klasztert és a hozzá tartozó felhasználói hitelesítő adatokat jelenti. Ezzel a paranccsal például átválthatsz egy másik klaszterre:
kubectl config use-context <cluster-neve>
Ez különösen hasznos, ha több cluster-el dolgozol egyszerre, például egy helyi fejlesztési és egy éles felhős környezettel.
Felhőspecifikus CLI eszközök
Minden nagyobb felhőszolgáltató kínál saját parancssori eszközt, amellyel kezelhetjük a Kubernetes klasztereket:
Ezek az eszközök lehetővé teszik, hogy helyben kezeljük a felhőben futó Kubernetes környezeteket, beleértve a klaszterek létrehozását, skálázását és törlését.
Saját cluster építése kubeadm segítségével
Ha kézzel szeretnél Kubernetes klasztert építeni, a kubeadm az egyik legnépszerűbb és a közösség által ajánlott megoldás. A telepítés folyamata egyszerű:
- A „központi agy”-ban futtasd:
kubeadm init
- A munkavégző csomópontokon vagy redundáns vezérlőcsomópontokon:
kubeadm join
A kubeadm
lehetővé teszi, hogy rugalmasan telepítsük a Kubernetes cluster-t különböző környezetekben, akár fizikai gépekre, akár felhőalapú infrastruktúrára.
Egyéb telepítési eszközök
Számos további telepítési lehetőség áll rendelkezésre, amelyek más-más célcsoportot és igényt szolgálnak ki:
- kubespray – Ansible-alapú, jól skálázható telepítési eszköz.
- kops – Kifejezetten AWS-re optimalizált, de más platformokon is működik.
Fontos megjegyezni, hogy ezek az eszközök eltérő fejlettségi szinttel és támogatottsággal rendelkeznek. Némelyik idővel népszerűvé válik, másokat a közösség elhagyhatja.
Összefoglalás
A Kubernetes telepítése ma már többféle módon is megvalósítható, kezdve a felhőszolgáltatók által nyújtott egyszerű megoldásoktól egészen a teljesen testreszabható, kézi telepítésig. A választás attól függ, milyen céllal és környezetben szeretnéd használni a klasztert. A tanuláshoz és gyakorláshoz a Minikube vagy MicroK8s, Kind kiváló belépőt nyújt, míg komolyabb környezetekhez a kubeadm vagy felhőszolgáltatói cluster-ek jelenthetik a megfelelő irányt.
Ugye már ki is gondoltad, melyikkel kezded?