Rendszer-csomópontkészletek kezelése az Azure Kubernetes Service-ben (AKS-ben)

Az Azure Kubernetes Service -ben (AKS) az azonos konfigurációval rendelkező csomópontok csomópontkészletekbe vannak csoportosítva. A csomópontkészletek tartalmazzák az alkalmazásokat futtató mögöttes virtuális gépeket. A rendszercsomópontkészletek és a felhasználói csomópontkészletek két különböző csomópontkészlet-módot jelentenek az AKS-fürtökhöz. A rendszercsomópontok készletei az olyan kritikus fontosságú rendszer podok üzemeltetésének elsődleges célját szolgálják, mint például CoreDNS a .metrics-server A felhasználói csomópontkészletek elsődleges célja az alkalmazás podjainak üzemeltetése. Az alkalmazás podjai azonban ütemezhetők a rendszercsomópont-készletekben, ha csak egy készletet szeretne az AKS-fürtben. Minden AKS-fürtnek legalább egy, legalább két csomóponttal rendelkező rendszercsomópontkészletet kell tartalmaznia.

Fontos

Ha éles környezetben futtat egyetlen rendszercsomópontkészletet az AKS-fürthöz, javasoljuk, hogy legalább három csomópontot használjon a csomópontkészlethez.

Ez a cikk bemutatja, hogyan kezelhetők a rendszercsomópontok készletei az AKS-ben. További információ a több csomópontkészlet használatáról: több csomópontkészlet használata.

Mielőtt elkezdené

Telepítenie és konfigurálnia kell az Azure CLI 2.3.1-es vagy újabb verzióját. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

Korlátozások

A rendszercsomópontok készleteit támogató AKS-fürtök létrehozásakor és kezelésekor az alábbi 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 csomópontkészlet mód beállításához a 2020-03-01-es vagy újabb API-verziót kell használni. A 2020-03-01-nél régebbi API-verziókban létrehozott fürtök csak felhasználói csomópontkészleteket tartalmaznak, de a frissítési készlet mód lépéseit követve áttelepíthetők a rendszercsomópontkészletek használatára.
  • A csomópontkészlet neve csak kisbetűs alfanumerikus karaktereket tartalmazhat, és kisbetűvel kell kezdődnie. Linux-csomópontkészletek esetén a hossznak 1 és 12 karakter közöttinek kell lennie. Windows-csomópontkészletek esetén a hossznak egy és hat karakter közöttinek kell lennie.
  • A csomópontkészlet üzemmódja kötelező tulajdonság, és kifejezetten be kell állítani ARM-sablonok vagy közvetlen API-hívások használatakor.

Rendszer- és felhasználói csomópontkészletek

Rendszercsomópont-készlet esetén az AKS automatikusan hozzárendeli a kubernetes.azure.com/mode: system címkét a csomópontjaihoz. Emiatt az AKS inkább a rendszer podjait ütemezi a címkét tartalmazó csomópontkészleteken. Ez a címke nem akadályozza meg az alkalmazás podok ütemezését a rendszercsomópont-készletekben. Javasoljuk azonban, hogy elkülönítse a kritikus rendszer podokat az alkalmazás podjaitól, hogy megakadályozza a helytelenül konfigurált vagy hibás alkalmazás podok véletlen törlését.

Ezt a viselkedést egy dedikált rendszercsomópontkészlet létrehozásával kényszerítheti ki. CriticalAddonsOnly=true:NoSchedule A taint használatával megakadályozhatja, hogy az alkalmazás podjai ütemeződjenek a rendszercsomópont-készletekben.

A rendszercsomópont-készletekre a következő korlátozások vonatkoznak:

  • A rendszercsomópont-készleteknek legalább 30 podot kell támogatniuk a podok minimális és maximális értékképletében leírtak szerint.
  • A rendszerkészletek osType-jének Linuxnak kell lennie.
  • Az osType felhasználói csomópontkészletek linuxos vagy Windows rendszerűek lehetnek.
  • A rendszerkészleteknek legalább két csomópontot kell tartalmazniuk, és a felhasználói csomópontkészletek nulla vagy több csomópontot tartalmazhatnak.
  • A rendszercsomópontok készletei legalább 4 virtuális processzorból és 4 GB memóriából álló virtuálisgép-termékváltozatot igényelnek.
  • A B sorozatú virtuális gépek nem támogatottak a rendszercsomópont-készletek esetében.
  • Legalább három, legalább 8 virtuális processzort tartalmazó csomópont vagy legalább 16 vCPU-val rendelkező csomópont ajánlott (például Standard_DS4_v2), különösen nagy fürtök esetén (több CoreDNS podreplika, 3-4+ bővítmény stb.).
  • A kihasználatlan csomópontkészletekhez felhasználói csomópontkészletek szükségesek.
  • Egy másik rendszercsomópontkészlet hozzáadása vagy a rendszercsomópontkészletet tartalmazó csomópontkészlet módosítása nem helyezi át automatikusan a rendszer podjait. A rendszer podjai továbbra is futtathatók ugyanazon a csomópontkészleten, még akkor is, ha felhasználói csomópontkészletre módosítja. Ha töröl vagy leskáláz egy korábban rendszercsomópontkészletként működő rendszer podokat futtató csomópontkészletet, a rendszer a rendszer podjait újra üzembe helyezi az új rendszercsomópont-készlet előnyben részesített ütemezésével.

A csomópontkészletekkel a következő műveleteket hajthatja végre:

  • Dedikált rendszercsomópontkészlet létrehozása (előnyben részesíti a rendszer podjainak ütemezését a csomópontkészleteihez mode:system)
  • Módosítsa a rendszercsomópontkészletet felhasználói csomópontkészletként, feltéve, hogy egy másik rendszercsomópontkészlettel rendelkezik, amely átveszi a helyét az AKS-fürtben.
  • Felhasználói csomópontkészlet módosítása rendszercsomópont-készletként.
  • Felhasználói csomópontkészletek törlése.
  • Törölheti a rendszercsomópontkészleteket, feltéve, hogy egy másik rendszercsomópont-készlettel rendelkezik, amely átveszi a helyét az AKS-fürtben.
  • Az AKS-fürtök több rendszercsomópontkészlettel is rendelkezhetnek, és legalább egy rendszercsomópontkészletre van szükség.
  • Ha módosítani szeretné a meglévő csomópontkészletek különböző nem módosítható beállításait, új csomópontkészleteket hozhat létre a lecserélésükhöz. Ilyen például egy új csomópontkészlet hozzáadása új maxPods-beállítással, és a régi csomópontkészlet törlése.
  • Csomópont-affinitás használatával megkövetelheti vagy előnyben részesítheti, hogy mely csomópontok ütemezhetők csomópontcímkék alapján. Ezt a definíciót a YAML használatával állíthatja bekey, operator az értékre Inés systemvaluesuser a yaML-re is.kubectl apply -f yourYAML.yamlkubernetes.azure.com

Új AKS-fürt létrehozása rendszercsomópontkészlettel

Amikor új AKS-fürtöt hoz létre, a kezdeti csomópontkészlet alapértelmezés szerint típusalapú systemlesz. Új csomópontkészletek az aks nodepool addlétrehozásakor ezek a csomópontkészletek felhasználói csomópontkészletek, kivéve, ha explicit módon adja meg a módparamétert.

Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot az eastus régióban.

az group create --name myResourceGroup --location eastus

Használja az az aks create parancsot egy AKS-fürt létrehozásához. Az alábbi példa egy myAKSCluster nevű fürtöt hoz létre egy dedikált rendszerkészlettel, amely két csomópontot tartalmaz. Az éles számítási feladatokhoz győződjön meg arról, hogy legalább három csomóponttal rendelkező rendszercsomópont-készleteket használ. A művelet végrehajtása több percet is igénybe vehet.

# Create a new AKS cluster with a single system pool
az aks create -g myResourceGroup --name myAKSCluster --node-count 2 --generate-ssh-keys

Dedikált rendszercsomópontkészlet hozzáadása meglévő AKS-fürthöz

Hozzáadhat egy vagy több rendszercsomópontkészletet a meglévő AKS-fürtökhöz. Javasoljuk, hogy ütemezze az alkalmazás podjait a felhasználói csomópontkészleteken, és a rendszercsomópont-készleteket csak kritikus rendszer podokra szentelje. Ez megakadályozza, hogy a hibás alkalmazás podok véletlenül töröljék a rendszer podjait. Kényszerítse ki ezt a viselkedést a CriticalAddonsOnly=true:NoSchedulerendszercsomópontkészletek fertőzöttségével.

Az alábbi parancs egy dedikált, három csomópontból álló, üzemmód típusú rendszer típusú csomópontkészletet ad hozzá.

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name systempool \
    --node-count 3 \
    --node-taints CriticalAddonsOnly=true:NoSchedule \
    --mode System

A csomópontkészlet részleteinek megjelenítése

A csomópontkészlet adatait az alábbi paranccsal ellenőrizheti.

az aks nodepool show -g myResourceGroup --cluster-name myAKSCluster -n systempool

A rendszercsomópontok készleteihez rendszer típusú üzemmód van definiálva, a felhasználói csomópontkészletekhez pedig Felhasználó típusú mód van definiálva. Rendszerkészlet esetén ellenőrizze, hogy CriticalAddonsOnly=true:NoSchedulea fertőzöttség be van-e állítva, ami megakadályozza, hogy az alkalmazás podjai ezen a csomópontkészleten legyenek ütemezve.

{
  "agentPoolType": "VirtualMachineScaleSets",
  "availabilityZones": null,
  "count": 3,
  "enableAutoScaling": null,
  "enableNodePublicIp": false,
  "id": "/subscriptions/yourSubscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/systempool",
  "maxCount": null,
  "maxPods": 110,
  "minCount": null,
  "mode": "System",
  "name": "systempool",
  "nodeImageVersion": "AKSUbuntu-1604-2020.06.30",
  "nodeLabels": {},
  "nodeTaints": [
    "CriticalAddonsOnly=true:NoSchedule"
  ],
  "orchestratorVersion": "1.16.10",
  "osDiskSizeGb": 128,
  "osType": "Linux",
  "provisioningState": "Succeeded",
  "proximityPlacementGroupId": null,
  "resourceGroup": "myResourceGroup",
  "scaleSetEvictionPolicy": null,
  "scaleSetPriority": null,
  "spotMaxPrice": null,
  "tags": null,
  "type": "Microsoft.ContainerService/managedClusters/agentPools",
  "upgradeSettings": {
    "maxSurge": null
  },
  "vmSize": "Standard_DS2_v2",
  "vnetSubnetId": null
}

Meglévő fürtrendszer és felhasználói csomópontkészletek frissítése

Feljegyzés

A rendszercsomópont-készlet mód beállításához a 2020-03-01-es vagy újabb API-verziót kell használni. A 2020-03-01-nél régebbi API-verziókban létrehozott fürtök csak felhasználói csomópontkészleteket tartalmaznak. A rendszercsomópontkészlet funkcióinak és a régebbi fürtök előnyeinek fogadásához frissítse a meglévő csomópontkészletek módját az alábbi parancsokkal a legújabb Azure CLI-verzión.

A rendszer- és a felhasználói csomópontkészletek üzemmódjai is módosíthatók. A rendszercsomópontkészletet csak akkor módosíthatja felhasználói készletre, ha már létezik egy másik rendszercsomópont-készlet az AKS-fürtön.

Ez a parancs felhasználói csomópontkészletre módosítja a rendszercsomópont-készletet.

az aks nodepool update -g myResourceGroup --cluster-name myAKSCluster -n mynodepool --mode user

Ez a parancs egy felhasználói csomópontkészletet rendszercsomópont-készletre módosít.

az aks nodepool update -g myResourceGroup --cluster-name myAKSCluster -n mynodepool --mode system

Rendszercsomópontkészlet törlése

Feljegyzés

Ha az API 2020-03-02-es verziója előtt szeretne rendszercsomópontkészleteket használni az AKS-fürtökön, adjon hozzá egy új rendszercsomópontkészletet, majd törölje az eredeti alapértelmezett csomópontkészletet.

Legalább két rendszercsomópont-készlettel kell rendelkeznie az AKS-fürtön, mielőtt törölhet egyet.

az aks nodepool delete -g myResourceGroup --cluster-name myAKSCluster -n mynodepool

Az erőforrások eltávolítása

A fürt törléséhez használja az az group delete parancsot az AKS-erőforráscsoport törléséhez:

az group delete --name myResourceGroup --yes --no-wait

Következő lépések

Ebben a cikkben megismerhette, hogyan hozhat létre és kezelhet rendszercsomópontkészleteket egy AKS-fürtben. Az AKS-csomópontkészletek elindításáról és leállításáról az AKS-csomópontkészletek elindításáról és leállításáról szóló cikkben olvashat.