Kubernetes telepítési lehetőségek és eszközök áttekintése

| Olvasási idő: 4 perc |

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:

  • gcloud – Google Cloud CLI
  • aws – AWS CLI
  • az – Azure CLI

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ű:

  1. A „központi agy”-ban futtasd: kubeadm init
  2. 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?