Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk technikai alapot ad az Azure Kubernetes Service (AKS) fürtfrissítéseihez, bemutatva a frissítési lehetőségeket és a gyakori forgatókönyveket. Az igényeire szabott részletes útmutatásért használja a cikk végén található forgatókönyvalapú navigációs útvonalakat.
A cikk tartalma
Ez a technikai referencia átfogó AKS-frissítési alapismereteket nyújt a következőkkel kapcsolatban:
- Manuális és automatikus frissítési lehetőségek, és mikor érdemes használni azokat.
- Gyakori frissítési forgatókönyvek adott javaslatokkal.
- Optimalizálási technikák a teljesítmény és a minimális fennakadás érdekében.
- Hibaelhárítási útmutató a kapacitással, a ürítési hibákkal és az időzítési problémákkal kapcsolatban.
- Érvényesítési folyamatok és frissítés előtti ellenőrzések.
Ez a központ a legjobb megoldás a frissítési mechanika megértéséhez, a problémák elhárításához, a frissítési beállítások optimalizálásához és a technikai megvalósítás megismeréséhez.
További információkért tekintse meg az alábbi kapcsolódó cikkeket:
- Az AKS-fürtök produkciós frissítéséhez tekintse meg az AKS produkciós frissítési stratégiáit.
- Az állapotalapú számítási feladatokkal rendelkező AKS-fürtök frissítési mintáinak lekéréséhez tekintse meg az Állapotalapú számítási feladatok frissítési mintáit.
- Ha a forgatókönyvközpontot a megfelelő AKS-frissítési módszer kiválasztásához szeretné használni, tekintse meg az AKS frissítési forgatókönyveit: Válassza ki az elérési utat.
Ha még nem ismerkedik az AKS-frissítésekkel, kezdje a frissítési forgatókönyvek központjával , amely irányított, forgatókönyvalapú segítséget nyújt.
Gyors navigáció
| Az Ön helyzete | Ajánlott elérési út |
|---|---|
| A gyártási klaszter frissítésre szorul. | Gyártási verziófrissítési stratégiák |
| Adatbázis-/állapotalapú számítási feladatok | Állapotalapú munkaterhelés mintái |
| Első alkalommal történő frissítés vagy alapszintű fürt | Alapszintű AKS-fürtfrissítés |
| Több környezet vagy flotta | Frissítési forgatókönyvek központja |
| Csomópontkészletek vagy Windows-csomópontok | Csomópontkészlet frissítései |
| Csak adott csomópontkészlet | Egy csomópont csoport frissítése |
Frissítési beállítások
Manuális frissítések végrehajtása
A manuális frissítések lehetővé teszik, hogy Ön szabályozza, mikor frissíti a fürt az új Kubernetes-verzióra. Ezek a frissítések egy adott verzió teszteléséhez vagy célzásához hasznosak:
- AKS-fürt frissítése
- Több AKS-fürt frissítése az Azure Kubernetes Fleet Manager segítségével
- A csomópont lemezképének frissítése
- Csomópontok túlfeszültség-frissítésének testreszabása
- Csomópont operációsrendszer-frissítésének feldolgozása
Automatikus frissítések konfigurálása
Az automatikus frissítések a fürtöt egy támogatott verzióban és naprakészen tartják. A következő frissítésekkel automatizálhatja a beállításokat:
- AKS-fürt automatikus frissítése
- AKS-fürtök automatikus frissítése az Azure Kubernetes Flotta Kezelővel
- Tervezett karbantartás használata a frissítések ütemezéséhez és szabályozásához
- Az AKS-fürt frissítéseinek automatikus leállítása api-kompatibilitástörő módosításokkor (előzetes verzió)
- AKS fürtcsomópontok operációs rendszer képeinek automatikus frissítése
- Biztonsági frissítések automatikus alkalmazása az AKS-csomópontokra a GitHub-műveletek használatával
A több rendelkezésre állási zónára kiterjedő csomópontkészletek különleges szempontjai
Az AKS a lehetőségek szerinti legjobb zónaelosztást alkalmazza csomópontcsoportokban. Frissítési hullám esetén a virtuálisgép-méretezési csoportokban lévő zónák túlfeszültség-csomópontjai előre nem ismertek, ami ideiglenesen kiegyensúlyozatlan zónakonfigurációt okozhat. Az AKS a frissítés után törli a túlfeszültség-csomópontokat, és visszaállítja az eredeti zónaegyenleget.
A zónák egyensúlyának megőrzéséhez állítsa a túlfeszültséget három csomópont többszörösére. Az Azure helyileg redundáns tárolólemezeit használó állandó kötetjogcímek zónahatároltak, és állásidőt okozhatnak, ha a túlfeszültség-csomópontok másik zónában vannak. Használjon podkimaradási költségvetést (PDB) a magas rendelkezésre állás fenntartásához a kiürítések során.
A frissítések optimalizálása a teljesítmény javítása és a fennakadások minimalizálása érdekében
Kombinálja a tervezett karbantartási időszakot, a maximális túlfeszültséget, a PDB-t, a csomópontok ürítési időtúllépését és a csomópontok beáztatási idejét a sikeres, alacsony megszakítású frissítések valószínűségének növelése érdekében:
- Tervezett karbantartási időszak: Az automatikus frissítés ütemezése alacsony forgalmú időszakokban. Javasoljuk, hogy legalább négy órát.
- Maximális túlfeszültség: A magasabb értékek felgyorsítják a frissítéseket, de megzavarhatják a számítási feladatokat. Mi azt ajánljuk, hogy 33% legyen egy éles környezetben.
- Maximálisan nem érhető el: Akkor használható, ha a kapacitás korlátozott.
- Podkimaradás költségvetése: Állítsa be a podok lekorlátozódását a frissítések során. Ellenőrizze a szolgáltatását.
- Csomópontleürítés időtartama: A podok kiürítési várakozási időtartamának konfigurálása. Az alapértelmezett érték 30 perc.
- Csomópontok áztatási ideje: Átmeneti frissítések az állásidő minimalizálása érdekében. Az alapértelmezett érték 0 perc.
| Bővítési beállítások | További csomópontok használata | Várható viselkedés |
|---|---|---|
maxSurge=5, maxUnavailable=0 |
5 túlfeszültség-csomópont | Öt csomópontot kiválasztottak a frissítéshez. |
maxSurge=5, maxUnavailable=0 |
0-4 túlfeszültség-csomópont | A frissítés sikertelen, mert nincs elegendő túlfeszültség-csomópont. |
maxSurge=0, maxUnavailable=5 |
N/A | A rendszer öt meglévő csomópontot ürít le a frissítéshez. |
Megjegyzés:
A frissítés előtt ellenőrizze az API kompatibilitástörő módosításait, és tekintse át az AKS kibocsátási megjegyzéseit a fennakadások elkerülése érdekében.
A frissítési folyamat során használt érvényesítések
Az AKS elvégzi a frissítés előtti validálásokat a klaszter egészségének biztosítása érdekében.
- API-kompatibilitástörő változások: Elavult API-kat észlel.
- A Kubernetes frissítési verziója: Érvényes frissítési útvonalat biztosít.
-
PDB-konfiguráció: Ellenőrzi a helytelenül konfigurált PDB-ket (például
maxUnavailable=0). - Kvóta: A túlfeszültség-csomópontok számára elegendő kvótát biztosít.
- Alhálózat: Ellenőrzi a megfelelő IP-címeket.
- Tanúsítványok/szolgáltatásnevek: Lejárt hitelesítő adatokat észlel.
- Felügyelt erőforrás zárolásának ellenőrzése: Ellenőrzi a felügyelt fürt erőforráscsoportra alkalmazott erőforrás-zárolásokat.
Ezek az ellenőrzések segítenek minimalizálni a frissítési hibákat, és korán áttekinteni a problémákat.
Gyakori frissítési forgatókönyvek és javaslatok
1. forgatókönyv: Kapacitáskorlátozások
Ha a fürtöt termékszint vagy regionális kapacitás korlátozza, a frissítések sikertelenek lehetnek, ha a túlfeszültség-csomópontok nem építhetők ki. Ez a helyzet gyakori a speciális termékszintek (például GPU-csomópontok) vagy a korlátozott erőforrásokkal rendelkező régiókban. Az olyan hibák, mint SKUNotAvailable, AllocationFailed vagy OverconstrainedAllocationRequest, előfordulhatnak, ha a maxSurge értéke túl magas a rendelkezésre álló kapacitáshoz.
Javaslatok a megelőzésre vagy a megoldásra
- A meglévő csomópontok használatával történő frissítésre használható
maxUnavailableaz új csomópontok sürgetése helyett. További információ: A nem elérhető csomópontok testreszabása a frissítés során. - Alacsonyabb
maxSurgea további kapacitásigények csökkentése érdekében. További információt a csomópontok túlfeszültség-frissítésének testreszabása című témakörben talál. - Csak biztonsági frissítések esetén használjon olyan biztonsági javításokat, amelyek nem igényelnek túlfeszültség-csomópontokat. További információ: Biztonsági és kernelfrissítések alkalmazása Linux-csomópontokra az Azure Kubernetes Service-ben.
2. forgatókönyv: Csomópont karbantartási hibák és PDB-k.
A frissítésekhez a csomópontok ürítése szükséges (podok eltávolítása). A lefolyók meghiúsulhatnak, ha a podok lassan leállnak, vagy szigorú podkimaradási költségvetések (PDB-k) blokkolják a podok kiürítését.
Példahiba:
Code: UpgradeFailed
Message: Drain node ... failed when evicting pod ... Cannot evict pod as it would violate the pod's disruption budget.
1. lehetőség: Frissítés kényszerítése (PDB megkerülése)
Figyelmeztetés
A frissítés kényszerítése megkerüli a Pod Disruption Budget (PDB) korlátait, és szolgáltatáskimaradást okozhat az összes pod egyidejű lecsapolásával. A beállítás használata előtt először próbálja meg kijavítani a PDB helytelen konfigurációit (tekintse át a PDB minAvailable/maxUnavailable beállításait, győződjön meg a megfelelő podreplikákról, és ellenőrizze, hogy a PDB-k nem akadályozzák-e az összes kilakoltatást).
Csak akkor használjon kényszerítő frissítést, ha a PDF-fájlok megakadályozzák a kritikus frissítéseket, és nem oldhatók meg. Ez felülbírálja a PDB-védelmet, és teljes szolgáltatás elérhetetlenséget okozhat a frissítés során.
Követelmények: Azure CLI 2.79.0+ vagy AKS API 2025-09-01+ verzió
az aks upgrade \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--kubernetes-version $KUBERNETES_VERSION \
--enable-force-upgrade \
--upgrade-override-until yyyy-mm-ddT13:00:00Z
Megjegyzés:
- A
upgrade-override-untilparaméter meghatározza, hogy mikor fejeződik be az ellenőrzés megkerülése (jövőbeli dátumnak/időnek kell lennie) - Ha nincs megadva, az ablak alapértelmezés szerint három napig tart az aktuális időponttól
- Az
ZUTC/GMT időzónát jelzi
Figyelmeztetés
Ha a kényszerített frissítés engedélyezve van, elsőbbséget élvez az összes többi terhelési konfigurációval szemben. A nem módosítható csomópont viselkedési beállításai (2. lehetőség) nem lesznek alkalmazva, ha a kényszerített frissítés aktív.
2. lehetőség: Le nem ereszthető csomópontok kezelése (PDB tiszteletben tartása)
Ezzel a konzervatív megközelítéssel tisztelheti a PDF-fájlokat, és megelőzheti a frissítési hibákat.
Nem módosítható csomópont viselkedésének konfigurálása:
az aks nodepool update \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--name <node-pool-name> \
--undrainable-node-behavior Cordon \
--max-blocked-nodes 2 \
--drain-timeout 30
Viselkedési beállítások:
- Ütemezés (alapértelmezett): Törli a letiltott csomópontot és a túlfeszültségek cseréjét
-
Kordon (ajánlott): A kordonok csomópontja és címkéje
kubernetes.azure.com/upgrade-status=Quarantined
Letiltott csomópontok maximális száma (előzetes verzió):
- Megadja, hogy hány csomópontot ne ürítsen ki a rendszer
- A(z)
undrainable-node-behaviorbeállítása szükséges -
maxSurgeAlapértelmezett érték (általában 10%) ha nincs megadva
A maximális blokkolt csomópontok előfeltételei
A letiltott csomópontok maximális használatához az Azure CLI
aks-preview18.0.0b9-es vagy újabb verziójára van szükség.# Install or update the aks-preview extension az extension add --name aks-preview az extension update --name aks-preview
Példakonfiguráció maximális blokkolt csomópontokkal
az aks nodepool update \
--cluster-name jizenMC1 \
--name nodepool1 \
--resource-group jizenTestMaxBlockedNodesRG \
--max-surge 1 \
--undrainable-node-behavior Cordon \
--max-blocked-nodes 2 \
--drain-timeout 5
Javaslatok a csatornahibák megelőzésére
- Állítsa be
maxUnavailablea PDF-fájlokban, hogy legalább egy pod-kiürítés engedélyezve legyen - Podreplikák számának növelése a megszakítási költségvetés betartásához szükséges követelmények teljesítése érdekében
- Hosszabbítsa meg a kifutási időt, ha a számítási feladatoknak több időre van szükségük. (Az alapértelmezett érték 30 perc.)
- Tesztelje a PDF-fájlokat az előkészítésben, figyelje a frissítési eseményeket, és használjon kék-zöld üzembe helyezéseket a kritikus számítási feladatokhoz. További információ: Az AKS-fürtök kék-zöld üzembe helyezése.
Kimeríthetetlen csomópontok ellenőrzése
A letiltott csomópontok nincsenek ütemezve podokra, és
"kubernetes.azure.com/upgrade-status: Quarantined"címkével vannak megjelölve.Ha kiürítési csomópont-hiba történt a frissítés során, ellenőrizze a címkét a blokkolt csomópontokon.
kubectl get nodes --show-labels=true
Le nem üríthető csomópontok feloldása
Távolítsa el a felelős PDB-t:
kubectl delete pdb <pdb-name>Távolítsa el a címkét
kubernetes.azure.com/upgrade-status: Quarantined:kubectl label nodes <node-name> kubernetes.azure.com/upgrade-status-Ha szükséges, törölje a letiltott csomópontot:
az aks nodepool delete-machines --cluster-name <cluster-name> --machine-names <machine-name> --name <node-pool-name> --resource-group <resource-group-name>A lépés befejezése után egyeztetheti a fürt állapotát úgy, hogy bármilyen frissítési műveletet végrehajt az az aks-ban ismertetett választható mezők nélkül. Másik lehetőségként a csomópontkészletet a frissített csomópontok számával megegyező számú csomópontra skálázhatja. Ez a művelet biztosítja, hogy a csomópontkészlet a kívánt eredeti méretre kerüljön. Az AKS rangsorolja a letiltott csomópontok eltávolítását. Ez a parancs a fürt kiépítési állapotát is visszaállítja a következőre
Succeeded: . Az alábbi példában2a frissített csomópontok teljes száma látható.# Update the cluster to restore the provisioning status az aks update --resource-group <resource-group-name> --name <cluster-name> # Scale the node pool to restore the original size az aks nodepool scale --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --node-count 2
3. forgatókönyv: Lassú frissítések
A konzervatív beállítások vagy a csomópontszintű problémák késleltethetik a frissítéseket, ami hatással van a javítások és fejlesztések aktuális állapotának megtartására.
A lassú frissítések gyakori okai a következők:
- Alacsony
maxSurgevagymaxUnavailableérték (korlátozza a párhuzamosságot). - Magas áztatási idők (hosszú várakozások a csomópontfrissítések között).
- Leeresztési hibák (lásd a csomópont ürítési hibáit).
Javaslatok a megelőzésre vagy a megoldásra
-
maxSurge=33%,maxUnavailable=1használata a gyártáshoz. -
maxSurge=50%A fejlesztéshez/teszteléshezmaxUnavailable=2használja. - Az operációs rendszer biztonsági javítása gyors, célzott javításokhoz használható (elkerüli a csomópontok teljes újrailledését).
- Lehetővé teszi
--undrainable-node-behaviora frissítési blokkolók elkerülését.
4. forgatókönyv: AZ IP-cím kimerülése
A túlfeszültség-csomópontok több IP-címet igényelnek. Ha az alhálózat közel van a kapacitáshoz, a csomópontok kiépítése meghiúsulhat (például Error: SubnetIsFull). Ez a forgatókönyv gyakori az Azure Container Networking Interface esetében, magas maxPodsvagy nagy csomópontszámmal.
Javaslatok a megelőzésre vagy a megoldásra
Győződjön meg arról, hogy az alhálózat minden csomóponthoz, túlfeszültség-csomóponthoz és podhoz elegendő IP-címekkel rendelkezik. A képlet a következő
Total IPs = (Number of nodes + maxSurge) * (1 + maxPods): .Vonja vissza a nem használt IP-címeket, vagy bontsa ki az alhálózatot (például /24-ről /22-re).
Csökkentse
maxSurge, ha az alhálózat kiterjesztése nem lehetséges.az aks nodepool update \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --max-surge 10%Az IP-használat monitorozása az Azure Monitorral vagy egyéni riasztásokkal.
Csökkentse
maxPodscsomópontonként, az árva terheléselosztó IP-címeket törölje, és tervezze meg az alhálózat méretezését nagy méretű fürtökhöz.
Gyakori kérdések
Használhatok nyílt forráskódú eszközöket az ellenőrzéshez?
Igen. Számos nyílt forráskódú eszköz jól integrálható az AKS frissítési folyamataival:
- kube-no-trouble (kubent): A frissítések előtt megvizsgálja az elavult API-kat.
- Trivy: Tárolólemezképek és Kubernetes-konfigurációk biztonsági vizsgálata.
- Sonobuoy: Kubernetes-konformitási tesztelés és klaszter verifikáció.
- kube-bench: Biztonsági teljesítményteszt a Központ az Internetbiztonság szabványai ellen.
- Polaris: A Kubernetes ajánlott eljárásainak érvényesítése.
- kubectl-neat: Kubernetes-jegyzékek törlése ellenőrzés céljából.
Hogyan érvényesíthetem az API kompatibilitását a frissítés előtt?
Futtassa az elavulási ellenőrzéseket az olyan eszközökkel, mint a kubent:
# Install and run API deprecation scanner
kubectl apply -f https://github.com/doitintl/kube-no-trouble/releases/latest/download/knt-full.yaml
# Check for deprecated APIs in your cluster
kubectl run knt --image=doitintl/knt:latest --rm -it --restart=Never -- \
-c /kubeconfig -o json > api-deprecation-report.json
# Review findings
cat api-deprecation-report.json | jq '.[] | select(.deprecated==true)'
Mitől különböznek az AKS-frissítések a többi Kubernetes-platformtól?
Az AKS számos egyedi előnyt biztosít:
- Natív Azure-integráció az Azure Traffic Managerrel, az Azure Load Balancerrel és a hálózatkezeléssel.
- Az Azure Kubernetes Fleet Manager koordinált multicluster-frissítésekhez.
- Automatikus csomópontrendszerkép-javítás manuális csomópontkezelés nélkül.
- A kvóta, a hálózatkezelés és a hitelesítő adatok beépített érvényesítése.
- Azure-támogatás frissítéssel kapcsolatos problémák esetén.
A frissítési útvonal kiválasztása
Ez a cikk technikai alapokat biztosított. Most válassza ki a forgatókönyvalapú elérési utat.
Készen áll a végrehajtásra?
| Ha... | Ezután lépjen... |
|---|---|
| Éles környezet | Éles frissítési stratégiák: Csatatesztelt minták a nulla állásidős frissítésekhez |
| Adatbázisok vagy állapotalapú alkalmazások | Állapotalapú számítási feladatok mintái: Biztonságos frissítési minták az adatmegőrzéshez |
| Több környezet | Frissítési forgatókönyvek központja: Döntési fa összetett beállításokhoz |
| Alapfürt | AKS-kiszolgálócsoport frissítése: Lépésenkénti fürtfrissítés |
Még mindig dönt?
Használja a frissítési forgatókönyvek központot egy irányított döntési fához, amely a következőt veszi figyelembe:
- Állásidő-tűrés
- A környezet összetettsége
- Kockázati profil
- Idősor-korlátozások
Következő feladatok
- A frissítés megkezdése előtt tekintse át az AKS javításaival és frissítési útmutatóval kapcsolatos ajánlott eljárásokat és tervezési tippeket.
- Mindig ellenőrizze az API kompatibilitástörő módosításait , és ellenőrizze, hogy a számítási feladat kompatibilis-e a cél Kubernetes-verzióval.
- Tesztelje a frissítési beállításokat (például
maxSurge,maxUnavailableés PDB-ket) egy átmeneti környezetben az éles üzem kockázatának minimalizálása érdekében. - A folyamat alatt folyamatos figyelemmel kísérheti a frissítési eseményeket és a fürt állapotát.