This is the Trace Id: d728de3508552b667902b012ba771b58
Ugrás a tartalomtörzsre
Azure
színátmenetes háttér

Mi az a Kubernetes?

Megtudhatja, hogyan futtathat tárolókat az üzembe helyezés, a felügyelet és a skálázás automatizálásával.

A Kubernetes definíciója

A Kubernetes nyílt forráskódú szoftver, amely automatizálja a tárolóalapú alkalmazások üzembe helyezését, felügyeletét és skálázását. Virtuális gépek fürtjeinek vezénylése, tárolók ütemezése, valamint önjavítás, terheléselosztás és hordozhatóság a különböző környezetekben.

Legfontosabb tanulságok

  • A Kubernetes egy olyan platform, amely segít a tárolók számítási feladatainak futtatásában, szabályozásában és kibővítésében egy fürt több kiszolgálóján.
  • Podokba csoportosítja a tárolókat, vezérlősík-ütemezéssel és a kívánt állapotot megtartó vezérlőkkel.
  • Kezeli a szolgáltatásfelderítést, a terheléselosztást, az automatikus skálázást és az önjavítást (újraindítások, cserék és átütemezés).
  • A csapatok hordozható kiadásokhoz használják a különböző környezetekben, valamint az állapot- és stabilitási metrikák nyomon követésére.

A Kubernetes blog ismertetése

A Kubernetes nyílt forráskódú szoftver, a DevOps tárolók fürtön belüli üzembe helyezésére, kezelésére és skálázására használható. A Docker—egy másik nyílt forráskódú technológia—, amely a Kuberneteshez gyakran használt alapértelmezett tárolófájlformátum.

Tárolók

A tárolók becsomagolnak egy alkalmazást annak függőségeivel és konfigurációjával, hogy konzisztensen fusson a különböző környezetekben. Ahogy egy alkalmazás fejlődik, előfordulhat, hogy számos tárolót futtat több kiszolgálón is – és mindezt manuálisan koordinálni egyre bonyolultabbá válik. A Kubernetes ezt az összetettséget egy nyílt forráskódú API-val és egy vezérlőrendszerrel kezeli, amely eldönti, hogy mi hol fusson, és gondoskodik a rendszer zavartalan működéséről.

Mit nyújt Önnek a Kubernetes

Ütemezés és erőforrás-elhelyezés

A Kubernetes vezényli a virtuális gépek fürtjeit és ütemezi a tárolók futtatását a rendelkezésre álló számítási erőforrások és az egyes tárolók erőforrásigényei alapján.

Szolgáltatásészlelés és terheléselosztás

A Kubernetes kezeli a szolgáltatásfelderítést és a terheléselosztást, így a forgalom a megfelelő podokhoz irányítható, még akkor is, ha a podok idővel változnak.

Méretezés az igényeknek megfelelően

A Kubernetes skálázza a számítási feladatokat a számítási kihasználtság és a beállított kívánt állapot alapján.

Önjavítás sikertelenség esetén

A Kubernetes ellenőrzi az erőforrások állapotát, és problémák esetén újraindítja vagy replikálja a tárolókat. Újraindítja vagy lecseréli a hibás tárolókat, és visszatartja a forgalmat, amíg a számítási feladatok készen nem állnak.

Támogatja a szabályozott módosításokat

A Kubernetes támogatja az alkalmazások futtatásának telepítési mintáit, beleértve az automatizált kibocsátásokat és a visszaállításokat az Ön által leírt kívánt állapot alapján.

Konfiguráció és titkos kódok kezelése

A Kubernetes titkos kulcsokat és konfigurációkezelést biztosít a bizalmas információkhoz, például jelszavakhoz vagy tokenekhez.

Tárolóvezénylés

A Kubernetes a Kubernetes tárolási vezénylési modellje alapján csatlakoztathatja a kiválasztott tárolórendszereket (például helyi vagy nyilvános felhőbeli beállításokat).

Gyors objektumszószedet

A Kubernetes az Ön által deklarált és kezelt API-objektumok erőforrásaira épül. Íme néhány példa:

  • Pod: Egy vagy több tárolót futtató alapegység.

  • Szolgáltatás: Egy megbízható módszer az alkalmazás elérhetővé tételére és a forgalom átirányítására a változó podokhoz.

  • Üzembe helyezés: A kívánt alkalmazásállapot leírásának és frissítésének módja (gyakran a bevezetésekhez és a visszaállításokhoz kötődik).

  • Fürt: A fürt azon gépe, amelyen podok futnak.

  • Vezérlősík: A fürt állapotát és az ütemezési döntéseket kezelő összetevők.

Így áll össze az egész

  1. Deklarálja az alkalmazás kívánt állapotát (mi fusson, hány példány, erőforrás-igény).

  2. A vezérlősík rögzíti és végrehajtja a kérést a Kubernetes API-n és a háttértáron keresztül.

  3. Az ütemező elegendő erőforrással rendelkező csomópontokon helyezi el a podokat.

  4. A csomópont-összetevők futtatják a számítási feladatot.

  5. A vezérlők folyamatosan szinkronizálják a rendszert, hogy a tényleges állapot megfeleljen a kívánt állapotnak – szükség szerint méretezik, cserélik és frissítik a számítási feladatokat.

A Kubernetes architektúrája

A fő építőelemek

Fürt: Vezérlősík plusz munkavégző csomópontok

A Kubernetes fürt általában két részből áll: egy vezérlősíkból, amely a fürtöt felügyeli, és munkavégző csomópontokból, amelyek a feladatokat futtatják.

A vezérlősík összetevői

Ezek az összetevők kezelik a fürt általános állapotát:

  • kube-apiserver: Elérhetővé teszi a Kubernetes HTTP API-t (a kérések belépési pontja).

  • etcd: Konzisztens, magas rendelkezésre állású kulcs-érték tároló a fürtadatokhoz.

  • kube-scheduler: Megkeresi az elhelyezést igénylő podokat, és hozzárendeli őket egy csomóponthoz.

  • kube-controller-manager: Olyan vezérlőket futtat, amelyek a tényleges állapotot a kívánt állapothoz igazítják.

  • cloud-controller-manager (nem kötelező): Csatlakoztatja a Kubernetes-t a felhőszolgáltató-specifikus vezérlési logikához.

Csomópont összetevők

Minden munkavégző csomópont podokat és hálózati szabályokat karbantartó szoftvert futtat:

  • kubelet: Biztosítja, hogy a podok fussanak a csomóponton, beleértve a tárolóikat is.

  • kube-proxy (nem kötelező): Hálózati szabályokat tart fenn a szolgáltatások támogatásához.

  • tároló futtatókörnyezet: Tárolókat futtat a csomóponton.

Podok: Az alapvető munkavégzési egység

A Kubernetes elvileg nem ütemezi közvetlenül az egyes tárolókat. Egy vagy több tárolót egy podba csoportosít, amely alapszintű műveleti egységgé válik. A podok ezután vertikálisan fel- vagy leskálázódnak, az Ön által meghatározott kívánt állapot felé.

A gyakorlatban ez a következőt jelenti:

  1. Ön írja le a futtatni kívánt alkalmazást.

  2. A Kubernetes podokat ütemez a rendelkezésre álló számítási kapacitással rendelkező gépekre.

  3. A vezérlők gondoskodnak arról, hogy a fürt megfelelő állapotban maradjon.

Szolgáltatás hálózatkezelése

A podok változhatnak, ezért a Kubernetes olyan alapelemeket biztosít, amelyekkel az alkalmazások leírása és futtatása a fürtben megvalósítható, és amelyek stabil hozzáférést biztosítanak a számítási feladatokhoz.

A podok hálózatkezelésének alapjai

Minden pod saját fürtszintű IP-címet kap, és a podok hálózati címfordítás (NAT) nélkül kommunikálhatnak a csomópontok szintjén a Kubernetes hálózati modellben.

Szolgáltatások

A Service API stabil IP-címet vagy állomásnevet biztosít a háttérbeli podok egy csoportjának, még akkor is, ha az egyes podok idővel változnak.

EndpointSlice

A Kubernetes végpontszelet-objektumokat tart fenn annak nyomon követéséhez, hogy jelenleg mely podok támogatnak egy szolgáltatást.

Bejövő/Átjáró API

Annak érdekében, hogy a szolgáltatásokat a fürtön kívüli ügyfelek számára is elérhetővé tegye, a Kubernetes támogatja az átjáró API-t (és a bejövő forgalmat elődként).

LoadBalancer szolgáltatások

Egyes környezetek külsőleg is elérhetővé tehetnek egy szolgáltatást a LoadBalancer szolgáltatástípus használatával.

Fürtön futtatható bővítmények

A Kubernetes fürtök gyakran tartalmaznak olyan bővítményeket, amelyek kibővítik a funkciókat az alapvető összetevőkön túl. Példák:

  • DNS a fürtszintű névfeloldáshoz.

  • Webes felhasználói felület (irányítópult) a fürtkezeléshez.

  • Tárolóerőforrás-figyelés a metrikák gyűjtéséhez.

  • Fürtszintű naplózás a naplók központi gyűjtéséhez.

Hogyan működik a Kubernetes?

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.

Előnyök és használati esetek

A Kubernetes-t gyakran akkor választják, ha a csapatoknak konzisztens módon kell futtatniuk több tárolót számos gépen, miközben a forgalom útválasztását, skálázását és helyreállítását a platform kezeli.

Skálázhatóság

A Kubernetes méretezi a számítási feladatokat, vagyis az igény változásával növeli vagy csökkenti azok méretét a célállapot elérése érdekében, és a számítási kapacitás kihasználtsága alapján is méretezhető.

Gyakori használati esetek

  • Változó forgalommal rendelkező webalkalmazások (kampányok, szezonális csúcsok): Módosíthatja a replikákat a terhelés változásának megfelelően.

  • Köteg- vagy eseményvezérelt feldolgozás: Adjon hozzá kapacitást a hirtelen csúcsokhoz, majd skálázzon vissza.

  • Mikroszolgáltatások: Adott szolgáltatások skálázása a teljes alkalmazás skálázása nélkül.

Erőforrás-hatékonyság

A Kubernetes támogatja az automatikus raktárhely csomagolást, amely a tárolókat a processzor és a memória alapján helyezi el a csomópontokon a rendelkezésre álló erőforrások jobb kihasználásához. Emellett nyomon követi az erőforrás-elosztást a számítási feladatok kezelése során.

Gyakori használati esetek

  • Megosztott fürtök több csapat számára: Csökkentheti a kapacitásveszteséget azáltal, hogy a számítási feladatokat oda helyezi, ahol erőforrások állnak rendelkezésre.

  • Vegyes számításifeladat-fürtök (szolgáltatások és feladatok): A csomópontok folyamatos kihasználtságának biztosítása manuális elhelyezés nélkül.

Szolgáltatásészlelés és terheléselosztás

A Kubernetes DNS vagy IP-cím használatával teszi elérhetővé a számítási feladatokat, és eloszthatja a hálózati forgalmat, hogy az üzemelő példányok stabilak maradjanak. A szolgáltatásfelderítést is kezeli, és a terheléselosztást is beépíti a számítási feladatok változásának megfelelően.

Gyakori használati esetek

  • Mikroszolgáltatások kommunikációja: A szolgáltatások stabil neveken keresztül megtalálják egymást, amíg a podok változnak.

  • Stabil végpont mögötti belső API-k: A forgalom átirányítása csak az aktuális háttérkiszolgálókra.

Önjavítás

A Kubernetes úgy lett kialakítva, hogy lecserélje a hibás tárolókat, átütemezze a számítási feladatokat, amikor a csomópontok elérhetetlenné válnak, és fenntartsa a kívánt állapotot. Ilyen például a tároló újraindítása, a replika cseréje és a nem megfelelő állapotú podok eltávolítása a szolgáltatásvégpontokról, így a forgalom csak kifogástalan állapotú podokra irányul.

Gyakori használati esetek

  • Mindig elérhető szolgáltatások: Indítsa újra vagy cserélje le a hibás példányokat manuális beavatkozás nélkül.

  • Magas csomópont-változási aránnyal rendelkező fürtök: Ütemezze át a számítási feladatokat, amikor egy csomópont leáll.

  • Szolgáltatás mögötti szolgáltatások: Állítsa le a forgalom nem megfelelő állapotú podokra való irányítását.

Biztonságosabb kiadások

A Kubernetes támogatja az automatikus kibocsátásokat és visszaállításokat. Ön leírja a kívánt állapotot, a Kubernetes pedig szabályozott ütemben közelíti meg azt a tényleges állapotból.

Gyakori használati esetek

  • Gyakori alkalmazásfrissítések: Fokozatosan vezesse be a módosításokat, majd szükség esetén vonja vissza őket.

  • Több szolgáltatást is szállító csapatok: Biztosítsa az alkalmazások funkcionalitásának konzisztenciáját.

Hordozhatóság

A tárolóalapú alkalmazások elkülönülnek az infrastruktúrától, és a Kubernetes segít áthelyezni őket a helyi gépekről az éles környezetbe a helyszíni, a kiszolgáló nélküli, a hibrid felhős és a többfelhős környezetekbe, miközben megtartja a konzisztenciát a különböző környezetekben.

Gyakori használati esetek

  • Dev/test/prod paritás: Tartsa meg ugyanazt a csomagolási és ütemezési modellt a különböző környezetekben.

  • Hibrid telepítések: A rendszer egyes részeit a helyszínen, más részeit pedig a felhőben futtathatja, ugyanazon vezénylési megközelítés alkalmazásával.

A Kubernetes használatbavétele

A Kubernetes közös módot kínál tárolóalapú számítási feladatok futtatására deklaratív konfigurációval és gépi tanulási automatizálással, amelyet az eszközök és a közösségi támogatás nagy és egyre bővülő készlete támogat.

Miért fontos még mindig a natív felhős alkalmazások esetében?

Mivel a csapatok számos szolgáltatásból, rövid élettartamú számítási feladatokból és gyakori frissítésekből álló rendszereket fejlesztenek, a Kubernetes praktikus alapként szolgál, mert a megismételhető műveletekre összpontosít:

  • Konzisztens műveletek a környezetekben (a függőségekkel csomagolt tárolók ugyanúgy futnak a különböző környezetekben).

  • Egy széles körű, aktív ökoszisztéma, amely számos szolgáltatást, támogatást és eszközt kínál.

  • Bővíthetőség közösségi fejlesztésű bővítményekkel, beépülő modulokkal és egy olyan megfelelőségi programmal, amely megőrzi az alapvető API-k konzisztenciáját a különböző verziókban.

Számítási feladatok létrehozása vagy futtatása esetén az Azure Kubernetes Service (AKS) segítségével tárolóalapú alkalmazásokat helyezhet üzembe és kezelhet, a vezérlősíkot pedig az Azure felügyeli.

színátmenetes háttér
Erőforrások
Fejlesztés

Azure-erőforrások

Fedezze fel a legújabb fejlesztői technológiát, és fedezzen fel új készségeket.
Képzés

A Kubernetes bemutatása

Ez a tanfolyam végigvezeti a Kubernetes használatával megoldható üzleti problémák típusain.
Oktatás

Microsoft Azure for Students

Az új készségekkel elindíthatja a karrierjét, és pozitív hatással lehet a világra.
GYIK

Gyakori kérdések

  • A Kubernetes tárolóalapú alkalmazások fürtön belüli üzembe helyezésére, kezelésére és skálázására használható. A számítási feladatokat a rendelkezésre álló számítási kapacitás alapján ütemezi, a forgalmat szolgáltatásfelderítéssel és terheléselosztással irányítja, és a meghibásodott tárolók újraindításával vagy cseréjével segíti az alkalmazások futtatását.
  • A Kubernetes-t általában tárolóalapú alkalmazásokat futtató fejlesztők és platformrendszergazdák használják. Ha kevesebb karbantartási feladatot szeretne a vezérlősíkban, akkor egy felügyelt szolgáltatás – például az Azure Kubernetes Service (AKS) – átveheti a vezérlősík kezelését, miközben Ön a csomópontokra és az alkalmazásokra koncentrálhat.
  • Igen. A Kubernetes helyi vagy helyszíni infrastruktúrán futtathat tárolóalapú alkalmazásokat, és támogatja a hibrid és a többfelhős telepítéseket is. A tárolók hordozhatók maradnak, mert az alkalmazás a mögöttes gépektől külön van csomagolva.
  • Ez eltarthat egy ideig, mert számos alapvető fogalom (fürtök, csomópontok, podok, szolgáltatások) létezik. Kezdje az alapokkal, majd gyakoroljon egy kis méretű alkalmazás üzembe helyezésével, és kövesse az interaktív képzési tervet a magabiztosság megszerzése érdekében.