Fontos alapfogalmak a Kubernetes világában
Miután megismertük a Kubernetes alapvető architektúráját, érdemes néhány kulcsfontosságú fogalommal is megismerkedni. Ezekkel az objektumokkal később is dolgozunk majd, de már most hasznos, ha megértjük, hogyan illeszkednek a teljes rendszerbe.
Mi is az a Kubernetes?
A Kubernetes egy konténer-orchesztrációs rendszer, amelyet arra terveztek, hogy automatizálja a konténerek telepítését, kezelését, skálázását és frissítését. Fontos megérteni, hogy a Kubernetes nem egyesével kezeli a konténereket, hanem úgynevezett Podokba csoportosítva.
Pod
A Pod a Kubernetes legkisebb egysége, amely egy vagy több konténert tartalmaz. Ezek a konténerek:
- azonos IP-címen osztoznak,
- közösen használják a tárolókat (volumes),
- ugyanabba a névtérbe (namespace) tartoznak.
Általában egy Pod egy alkalmazást futtat, míg a többi konténer segédszolgáltatásokat nyújthat hozzá (például loggyűjtés, proxy, stb.).
Namespace – névterek
A namespace, vagy magyarul névtér egy logikai szeparációs eszköz a Kubernetesben. Fő célja:
- az erőforrások elkülönítése (pl. fejlesztés, teszt, éles környezet),
- a több bérlős környezetek (multi-tenant) biztonságos kezelése,
- jogosultságok és kvóták könnyebb szabályozása.
Vannak klaszter szintű objektumok (pl. node-ok), és olyanok is, amelyek csak egy namespace-hez tartoznak. Ha különböző namespace-ekben lévő Podok szeretnének kommunikálni egymással, ahhoz Service objektumokra van szükség.
Orchestráció és vezérlők (operators)
A Kubernetes vezérlését úgynevezett „watch-loopokkal”, azaz operátorokkal végzi. Ezek figyelik a kube-apiserver
állapotát, és ha eltérés van az elvárt (deklarált) és a valós állapot között, akkor lépnek közbe.
A leggyakoribb operátor típusok:
- Deployment: konténerek kezelése (nem közvetlenül a Podokkal dolgozik).
- ReplicaSet: a Podok darabszámát kezeli a megadott sablon (podSpec) alapján.
- Kubelet: a node-on futó ügynök, amely végrehajtja a podSpec utasításait (pl. konténer letöltés, indítás, leállítás).
Az alapértelmezett és legtöbbet használt operátor a Deployment, amely biztosítja, hogy az alkalmazás mindig a kívánt példányszámban és konfigurációval fusson.
Custom Resource Definitions (CRD)
Ha a beépített vezérlők nem elegendők, akkor saját típusú erőforrásokat és operátorokat is létrehozhatunk. Ezt CRD-nek (Custom Resource Definition) nevezzük, és ezáltal bővíthetjük a Kubernetes képességeit.
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: blog.cloudmentor.hu
spec:
group: cloudmentor.hu
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
domain:
type: string
replicas:
type: integer
subresources:
status: {}
scope: Namespaced
names:
plural: websites
singular: website
kind: Website
shortNames:
- web
Szolgáltatások – Service
A Kubernetesben a Service objektum biztosítja a hálózati elérhetőséget a Podok között, különböző namespace-ek között, vagy a klaszteren kívülről.
- Label alapú működés: a Service címkék alapján találja meg a hozzá tartozó Podokat.
- A Service a Endpoint operátortól szerzi meg a Podok IP-címeit és elérési információit.
- A Service tehát egyfajta virtuális IP-címként viselkedik, ami mögött a megfelelő Pod(ok) állnak.
Címkék (Labels) és azonosítók
A Kubernetesben nehézkes lenne több ezer Pod vagy objektum kezelése, ha mindig név vagy UID alapján kellene hivatkozni rájuk. Ezért:
- használhatunk címkéket (labels) – tetszőleges kulcs-érték párok, melyek az objektum metaadataihoz tartoznak.
- így például egy parancs segítségével kiválaszthatunk minden olyan Podot, amelynek az
app=web
címkéje van, anélkül hogy ismernénk a nevüket.
Taints és tolerations
Az egyes node-ok megjelölhetők úgynevezett taint-ekkel, hogy elkerüljék a Podok automatikus ütemezését oda. Ha egy Pod mégis ilyen node-on szeretne futni, akkor az objektum toleration beállításával jelezheti, hogy elfogadja ezt a környezetet.

Ez az alapismereteket bemutató rész egy fontos lépcsőfok ahhoz, hogy megértsük, hogyan működik a Kubernetes rendszerszinten. A későbbi gyakorlati példákban ezek a fogalmak újra és újra elő fognak kerülni.
Ugye milyen izgalmas ez a világ? És még csak most kezdtük el…