A Kubernetes tárolóalapú alkalmazásokat futtat egy gépfürtön, és az Ön által leírt állapotban tartja őket. Ezt úgy teszi, hogy a megfelelő gépekre helyezi a munkát, a megfelelő helyekre irányítja a forgalmat, és figyeli a hibákat és a változásokat.
Az alapszintű folyamat
1. Ön leírja, hogy mit szeretne futtatni
A legtöbb Kubernetes számítási feladat deklarált „célállapotként” indul el (minek kell futnia, hány példány és hogyan kell elérhetővé tenni őket). A Kubernetes deklaratív konfigurációra és automatizálásra épül.
2. A Kubernetes dönti el, hogy hol fusson
A Kubernetes a rendelkezésre álló számítási erőforrások és az egyes tárolók igényei alapján ütemezi a tárolókat a fürt gépein. A tárolók podokon belül futnak, amely a Kubernetes által a gépen elhelyezett egység.
3. A Kubernetes folyamatosan ellenőrzi a valóságot és a kívánt állapotot
A vezérlők figyelik a fürtöt, és azon dolgoznak, hogy az aktuális állapotot a kívánt állapothoz igazítsák, módosításokat végezve az API-kiszolgáló használatával.
Tárolóütemezés és napi felügyelet
Az ütemezés azt jelenti, hogy „hol kell ezt futtatni?” döntés.
1. A podok ütemezve vannak, nem különálló tárolók
A Kubernetes podokba csoportosítja a tárolókat, majd ezeket a podokat gépekre helyezi.
2. Az ütemező podokat rendel egy megfelelő csomóponthoz
A kube-scheduler olyan podokat keres, amelyek még nincsenek hozzárendelve, és kiválaszt egy csomópontot hozzájuk.
3. A csomópontügynökök folyamatosan futtatják a podokat
A Kubelet minden csomóponton ellenőrzi, hogy a podok futnak-e (beleértve a tárolóikat is).
Terheléselosztás és szolgáltatásfelderítés
A tárolók és podok létrehozhatók, áthelyezhetők vagy lecserélhetők, így az alkalmazásoknak stabil módszerekkel kell megtalálniuk egymást.
A szolgáltatásfelderítés és a terheléselosztás beépített viselkedés
A Kubernetes kezeli a szolgáltatásfelderítést, és terheléselosztást használ, így a forgalom akkor is irányítható, ha a podok idővel változnak.
A szolgáltatások stabil címet biztosítanak a podok változó készletéhez
A Service API stabil IP-címet vagy állomásnevet biztosít egy vagy több pod által támogatott szolgáltatáshoz, és a Kubernetes EndpointSlice-objektumokon keresztül követi nyomon a háttérbeli podokat.
A forgalom-útválasztás a podok változásának megfelelően frissül
Ha a szolgáltatást támogató podok megváltoznak, a szolgáltatás útválasztása alkalmazkodik, így a forgalom továbbra is eléri a jelenlegi háttérrendszert.
Alkalmazások skálázása (és a „kívánt állapot” jelentősége)
A Kubernetes skálázhatja a számítási feladatokat a beállított állapot felé, beleértve a számítási kihasználtságon alapuló skálázást is.
A méretezéshez általánosan alkalmazott módszerek közé tartoznak:
Több replika (több pod) a nagyobb igény kezeléséhez.
Kevesebb replika, ha csökken az igény.
Erőforrás-követés, hogy az elhelyezkedésre vonatkozó döntések tükrözzék a CPU- és memóriaigényeket.
Ez visszakapcsolódik a „kívánt állapot” modellhez: meghatározzuk a célt, és a vezérlők folyamatosan annak elérése érdekében dolgoznak.
Önjavítás: Mi történik, ha valami meghibásodik
A Kubernetes önjavító viselkedéseket tartalmaz, amelyek célja a számítási feladatok állapotának és rendelkezésre állásának fenntartása. Ezek közé tartoznak a következők:
Hibás tárolók újraindítása (tárolószintű újraindítások).
Hibás podok cseréje a kért számú replika megtartásához (replikacsere).
Számítási feladatok átütemezése, amikor a csomópontok elérhetetlenné válnak.
Hibás podok eltávolítása a szolgáltatásvégpontokról, így a forgalom csak kifogástalan állapotú podokra irányul (szolgáltatások terheléselosztása).
Az önjavítás ellenőrzi a tároló állapotát, és problémák esetén újraindítja vagy replikálja azokat.
A Kubernetes KPI-k szerepe
A fő teljesítménymutatók (KPI-k vagy metrikák) a fürt állapotának és a számítási feladatok viselkedésének megértésére szolgálnak.
Honnan származnak a KPI-k?
A Kubernetes rendszerösszetevői irányítópultokhoz és riasztásokhoz hasznos metrikákat (Prometheus-formátumot) bocsátanak ki.
A metrikák általában az adott összetevő /metrics HTTP-végpontján érhetők el, ideértve olyan összetevőket is, mint a kube-apiserver, a kube-scheduler, a kubelet, a kube-proxy és a kube-controller-manager.
Példák arra, hogy milyen KPI-k segítenek a feltárásban
Fürt állapotjelzői (összetevőszintű metrikák és hibaminták)
Számítási feladatok stabilitása (például gyakori újraindítások vagy csere)
Kapacitási terhelés (erőforrás-elosztás és kereslet, skálázási döntésekhez kötve)
Miért fontos ez a mindennapi műveletek során?
A figyeléssel a csapatok teljesebb képet kaphatnak a fürterőforrásokról, a Kubernetes API-ról, a tárolókról és a naplókról, ami lerövidíti a problémák és a javítások közötti visszacsatolási ciklust.