Rendelkezésre állási zónák az Azure Kubernetes Service-ben (AKS)
A rendelkezésre állási zónák segítenek megvédeni az alkalmazásokat és az adatokat az adatközpont hibáitól. A zónák egyedi fizikai helyek egy Azure-régión belül. Minden zóna egy vagy több, független energiaellátással, hűtéssel és hálózatkezeléssel felszerelt adatközpontot tartalmaz.
Az AKS rendelkezésre állási zónákkal való használata fizikailag elosztja az erőforrásokat egy régió különböző rendelkezésre állási zónái között, ezáltal javítva a megbízhatóságot. A csomópontok több zónában való üzembe helyezése nem jár további költségekkel.
Ez a cikk bemutatja, hogyan konfigurálhatja az AKS-erőforrásokat a rendelkezésre állási zónák használatára.
AKS-erőforrások
Ez az ábra az AKS-fürt létrehozásakor létrehozott Azure-erőforrásokat mutatja be:
AKS vezérlősík
A Microsoft üzemelteti az AKS vezérlősíkot, a Kubernetes API-kiszolgálót, valamint az olyan szolgáltatásokat, mint a scheduler
etcd
felügyelt szolgáltatás. A Microsoft több zónában replikálja a vezérlősíkot.
A fürt egyéb erőforrásai egy felügyelt erőforráscsoportban vannak üzembe helyezve az Azure-előfizetésben. Ez az erőforráscsoport alapértelmezés szerint MC_ előtaggal van elnevezett felügyelt fürthöz, és a következő erőforrásokat tartalmazza:
Csomópontkészletek
A csomópontkészletek virtuálisgép-méretezési csoportként jönnek létre az Azure-előfizetésben.
AKS-fürt létrehozásakor egy rendszercsomópont-készletre van szükség, és automatikusan létre kell hozni. Olyan kritikus rendszer podokat üzemeltet, mint például CoreDNS
a .metrics-server
Az alkalmazások üzemeltetéséhez további felhasználói csomópontkészletek is hozzáadhatók az AKS-fürthöz.
A csomópontkészletek háromféleképpen helyezhetők üzembe:
- Zónafedés
- Zóna igazítása
- Regionális
A rendszercsomópont-készlet esetében a rendszer a fürt létrehozásakor konfigurálja a használt zónák számát.
Zónafedés
A méretezési csoportra kiterjedő zóna elterjeszti a csomópontokat az összes kijelölt zónában a paraméterekkel együtt --zones
megadott zónák megadásával.
# Create an AKS Cluster, and create a zone spanning System Nodepool in all three AZs, one node in each AZ
az aks create --resource-group example-rg --name example-cluster --node-count 3 --zones 1, 2, 3
# Add one new zone spanning User Nodepool, two nodes in each
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-a --node-count 6 --zones 1, 2, 3
Az AKS automatikusan kiegyensúlyozza a zónák közötti csomópontok számát.
Ha zónakimaradás történik, az érintett zónán belüli csomópontok befolyásolhatók, míg a többi rendelkezésre állási zónában lévő csomópontok változatlanok maradnak.
Zóna igazítása
Minden csomópont egy adott zónához van igazítva (rögzítve). Három csomópontkészlet létrehozása három rendelkezésre állási zónával rendelkező régióhoz:
# # Add three new zone aligned User Nodepools, two nodes in each
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-x --node-count 2 --zones 1
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-y --node-count 2 --zones 2
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-z --node-count 2 --zones 3
Ez a konfiguráció akkor használható, ha kisebb késésre van szüksége a csomópontok között. Részletesebb vezérlést is biztosít a skálázási műveletek felett, illetve a fürt automatikus skálázási eszközének használatakor.
Feljegyzés
- Ha egyetlen számítási feladatot helyez üzembe a csomópontkészleteken, javasoljuk
--balance-similar-node-groups
, hogytrue
a vertikális felskálázási műveletek során a csomópontok zónák közötti kiegyensúlyozott elosztását tartsa fenn.
Regionális (nem használja a rendelkezésre állási zónákat)
A regionális mód akkor használatos, ha a zónahozzárendelés nincs beállítva az üzembehelyezési sablonban ("zones"=[] or "zones"=null
).
Ebben a konfigurációban a csomópontkészlet regionális (nem zóna által rögzített) példányokat hoz létre, és implicit módon helyezi el a példányokat a régióban. Nincs garancia az egyensúlyra vagy a zónák közötti eloszlásra, vagy hogy a példányok ugyanabban a rendelkezésre állási zónában találhatók.
A teljes zónakimaradás ritkán a csomópontkészleten belüli bármely vagy minden példányra hatással lehet.
A csomópontok helyének ellenőrzéséhez futtassa a következő parancsot:
kubectl describe nodes | grep -e "Name:" -e "topology.kubernetes.io/zone"
NAME REGION ZONE
aks-nodepool1-34917322-vmss000000 eastus eastus-1
aks-nodepool1-34917322-vmss000001 eastus eastus-2
aks-nodepool1-34917322-vmss000002 eastus eastus-3
Központi telepítés
Podok
A Kubernetes tisztában van az Azure rendelkezésre állási zónákkal, és a podokat a különböző zónák csomópontjai között is kiegyensúlyozhatja. Ha egy zóna elérhetetlenné válik, a Kubernetes automatikusan áthelyezi a podokat az érintett csomópontoktól.
A jól ismert címkékben, széljegyzetekben és taintekben dokumentált Kubernetes a topology.kubernetes.io/zone
címkével automatikusan elosztja a podokat egy replikációs vezérlőben vagy szolgáltatásban a különböző elérhető zónák között.
A podcsomópontok futtatásának megtekintéséhez futtassa a következő parancsot:
kubectl describe pod | grep -e "^Name:" -e "^Node:"
A "maxSkew" paraméter azt írja le, hogy a podok milyen mértékben lehetnek egyenlőtlenül elosztva. Ha három zónát és három replikát feltételez, az érték 1 értékre állítása biztosítja, hogy minden zónában legalább egy pod fusson:
kind: Pod
apiVersion: v1
metadata:
name: myapp
spec:
replicas: 3
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "topology.kubernetes.io/zone"
whenUnsatisfiable: DoNotSchedule # or ScheduleAnyway
containers:
- name: pause
image: registry.k8s.io/pause:3.1
Tárolás és kötetek
Alapértelmezés szerint a Kubernetes 1.29-s és újabb verziói zónaredundáns tárolással (ZRS) használják az Azure Managed Diskst az állandó kötetküldő jogcímekhez.
Ezeket a lemezeket a rendszer zónák között replikálja az alkalmazások rugalmasságának növelése érdekében, és védi az adatokat az adatközpontok meghibásodásai ellen.
Példa egy állandó mennyiségi jogcímre, amely standard SSD-t használ a ZRS-ben:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: azure-managed-disk
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-csi
#storageClassName: managed-csi-premium
resources:
requests:
storage: 5Gi
Zónához igazított üzemelő példányok esetén létrehozhat egy új tárolási osztályt az skuname
LRS (helyileg redundáns tárolás) paraméterrel.
Ezután használhatja az új tárolási osztályt az Állandó kötet jogcímben (PVC).
Bár az LRS-lemezek kevésbé költségesek, nem zónaredundánsak, és nem támogatott a lemez csatolása egy másik zónában lévő csomóponthoz.
Példa egy LRS Standard SSD tárolási osztályra:
kind: StorageClass
metadata:
name: azuredisk-csi-standard-lrs
provisioner: disk.csi.azure.com
parameters:
skuname: StandardSSD_LRS
#skuname: PremiumV2_LRS
Terheléselosztók
A Kubernetes alapértelmezés szerint üzembe helyez egy Azure Standard Load Balancert, amely kiegyensúlyozza a bejövő forgalmat egy régió összes zónájában. Ha egy csomópont elérhetetlenné válik, a terheléselosztó átirányítja a forgalmat az kifogástalan állapotú csomópontokra.
Az Azure Load Balancert használó példaszolgáltatás:
apiVersion: v1
kind: Service
metadata:
name: example
spec:
type: LoadBalancer
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
Fontos
2025. szeptember 30-án az alapszintű Load Balancer kivonásra kerül. További információért tekintse meg a hivatalos bejelentést. Ha jelenleg alapszintű Load Balancert használ, a kivonási dátum előtt frissítsen a Standard Load Balancerre.
Korlátozások
A rendelkezésre állási zónák használatakor a következő korlátozások érvényesek:
- Lásd: Kvóták, virtuálisgép-méretkorlátozások és régiók rendelkezésre állása az AKS-ben.
- A használt rendelkezésre állási zónák száma nem módosítható a csomópontkészlet létrehozása után.
- A legtöbb régió támogatja a rendelkezésre állási zónákat. A lista itt található.
Következő lépések
- Tudnivalók a rendszercsomópont-készletről
- További információ a felhasználói csomópontkészletekről
- A Terheléselosztók ismertetése
- Ajánlott eljárások az AKS üzletmenet-folytonosságához és vészhelyreállításához
Azure Kubernetes Service