Megosztás a következőn keresztül:


Fürt csomópontkészleteinek kezelése (AKS az Azure Stack HCI 22H2-ben)

A következőkre vonatkozik: AKS az Azure Stack HCI 22H2-ben, AKS Windows Serveren

Megjegyzés

A csomópontkészletek Azure Stack HCI 23H2-n futó AKS-ben való kezelésével kapcsolatos információkért lásd: Csomópontkészletek kezelése.

Az Azure Arc által engedélyezett AKS-ben az azonos konfigurációban lévő csomópontok csomópontkészletekbe vannak csoportosítva. Ezek a csomópontkészletek tartalmazzák az alkalmazásokat futtató mögöttes virtuális gépeket. Ez a cikk bemutatja, hogyan hozhat létre és kezelhet csomópontkészleteket egy fürthöz az AKS Arcban.

Megjegyzés

Ez a funkció lehetővé teszi több csomópontkészlet létrehozásának és kezelésének nagyobb mértékű szabályozását. Ennek eredményeképpen külön parancsokra van szükség a létrehozási, frissítési és törlési műveletekhez. Korábban a New-AksHciCluster vagy a Set-AksHciCluster használatával végzett fürtműveletek voltak az egyetlen lehetőség egy Windows-csomópontkészlettel és egy Linux-csomópontkészlettel rendelkező fürt létrehozására vagy skálázására. Ez a funkció egy külön műveletkészletet tesz elérhetővé olyan csomópontkészletekhez, amelyek a New-AksHciNodePool, a Set-AksHciNodePool, a Get-AksHciNodePool és a Remove-AksHciNodePool csomópontkészlet-parancsok használatát igénylik az egyes csomópontkészleteken végzett műveletek végrehajtásához.

Előkészületek

Javasoljuk, hogy telepítse az 1.1.6-os verziót. Ha már telepítve van a PowerShell-modul, futtassa a következő parancsot a verzió megkereséséhez:

Get-Command -Module AksHci

Ha frissítenie kell a PowerShellt, kövesse az AKS-gazdagép frissítésével kapcsolatos utasításokat.

AKS-fürt létrehozása

Első lépésként hozzon létre egy AKS-fürtöt egyetlen csomópontkészlettel. Az alábbi példa a New-AksHciCluster paranccsal hoz létre egy új Kubernetes-fürtöt egy linuxos csomópontkészlettel, linuxnodepool néven, amely 1 csomóponttal rendelkezik. Ha már telepített egy fürtöt az AKS egy régebbi verziójával, és továbbra is használni szeretné a régi üzembe helyezést, kihagyhatja ezt a lépést. Az új csomópontkészlet-parancskészlet-parancsokkal továbbra is hozzáadhat további csomópontkészletet a meglévő fürthöz.

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType linux

Megjegyzés

A régi paraméterkészlet New-AksHciCluster továbbra is támogatott.

Csomópontkészlet hozzáadása

Az előző lépésben létrehozott *' nevű myclusterfürt egyetlen csomópontkészletet tartalmaz. A New-AksHciNodePool paranccsal hozzáadhat egy második csomópontkészletet a meglévő fürthöz. Az alábbi példa egy windowsnodepool nevű Windows-csomópontkészletet hoz létre egy csomóponttal. Győződjön meg arról, hogy a csomópontkészlet neve nem azonos a meglévő csomópontkészlet nevével.

New-AksHciNodePool -clusterName mycluster -name windowsnodepool -count 1 -osType Windows -osSku Windows2022

Csomópontkészlet konfigurációs adatainak lekérése

A csomópontkészletek konfigurációs adatainak megtekintéséhez használja a Get-AksHciNodePool parancsot.

Get-AksHciNodePool -clusterName mycluster

Példa a kimenetre:

ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

ClusterName  : mycluster
NodePoolName : windowsnodepool
Version      : v1.20.7
OsType       : Windows
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Egy adott csomópontkészlet konfigurációs információinak megtekintéséhez használja a -nameGet-AksHciNodePool paramétert.

Get-AksHciNodePool -clusterName mycluster -name linuxnodepool

Példa a kimenetre:

ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed
Get-AksHciNodePool -clusterName mycluster -name windowsnodepool

Példa a kimenetre:

ClusterName  : mycluster
NodePoolName : windowsnodepool
Version      : v1.20.7
OsType       : Windows
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Megjegyzés

Ha az új paraméterkészleteket New-AksHciCluster használja egy fürt üzembe helyezéséhez, majd futtatja a fürtinformációk Get-AksHciCluster lekéréséhez, a mezők WindowsNodeCount és LinuxNodeCount a kimenet visszaadják 0a következőt: . Az egyes csomópontkészletekben található csomópontok pontos számának lekéréséhez használja a parancsot Get-AksHciNodePool a megadott fürtnévvel.

Csomópontkészlet skálázása

A csomópontkészletekben felfelé vagy lefelé skálázhatja a csomópontok számát.

A csomópontkészletben lévő csomópontok számának skálázásához használja a Set-AksHciNodePool parancsot. Az alábbi példa a fürtön található linuxnodepoolmycluster csomópontkészletben lévő csomópontok számát 3-ra skálázza.

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

Skálázási vezérlősík csomópontjai

A vezérlősík csomópontjainak kezelése nem változott. A létrehozásuk, skálázásuk és eltávolításuk módja változatlan marad. Ha nem ad meg értékeket, továbbra is üzembe helyezi a vezérlősík csomópontjait a New-AksHciCluster paranccsal a paraméterekkel controlPlaneNodeCount és controlPlaneVmSize az alapértelmezett 1 és Standard_A4_V2 értékekkel.

Előfordulhat, hogy skáláznia kell a vezérlősík csomópontjait, amikor az alkalmazások számítási feladatigénye megváltozik. A vezérlősík csomópontjainak skálázásához használja a Set-AksHciCluster parancsot. Az alábbi példa a vezérlősík csomópontjait 3-ra skálázza a fürtben mycluster , amely az előző lépésekben lett létrehozva.

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Csomópontkészlet törlése

Ha törölnie kell egy csomópontkészletet, használja a Remove-AksHciNodePool parancsot. Az alábbi példa eltávolítja a nevű windowsnodepool csomópontkészletet a mycluster fürtből.

Remove-AksHciNodePool -clusterName mycluster -name windowsnodepool

Csomópontkészlet fertőzöttségének megadása

Csomópontkészlet létrehozásakor hozzáadhat fertőzötteket az adott csomópontkészlethez. Ha fertőzöttet ad hozzá, az adott csomópontkészlet összes csomópontja is megkapja ezt a fertőzöttet. A fertőzöttségekkel és a tűrésekkel kapcsolatos további információkért lásd: Kubernetes Taints és Tolerations.

Csomópontkészlet-fertőzöttek beállítása

Ha fertőzött csomópontkészletet szeretne létrehozni, használja a New-AksHciNodePool parancsot. Adja meg a nevet taintnp, és a -taints paraméter használatával adja meg sku=gpu:noSchedule a fertőzöttet.

New-AksHciNodePool -clusterName mycluster -name taintnp -count 1 -osType linux -taints sku=gpu:NoSchedule

Megjegyzés

A fertőzöttség csak csomópontkészletekhez állítható be a csomópontkészlet létrehozása során.

Futtassa a következő parancsot, és győződjön meg arról, hogy a csomópontkészlet sikeresen üzembe lett helyezve a megadott fertőzöttséggel.

Get-AksHciNodePool -clusterName mycluster -name taintnp

Kimenet

Status       : {Phase, Details}
ClusterName  : mycluster
NodePoolName : taintnp
Version      : v1.20.7-kvapkg.1
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed
Taints       : {sku=gpu:NoSchedule}

Az előző lépésben a csomópontkészlet létrehozásakor alkalmazta az sku=gpu:NoSchedule fertőzöttet. Az alábbi alapszintű YAML-jegyzék egy tűrést használ annak engedélyezéséhez, hogy a Kubernetes-ütemező NGINX-podot futtasson az adott csomópontkészlet egyik csomópontján.

Hozzon létre egy nevű fájlt nginx-toleration.yaml, és másolja az adatokat az alábbi szövegbe.

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - image: mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine
    name: mypod
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 1
        memory: 2G
  tolerations:
  - key: "sku"
    operator: "Equal"
    value: "gpu"
    effect: "NoSchedule"

Ezután ütemezze a podot az alábbi paranccsal.

kubectl apply -f nginx-toleration.yaml

A pod üzembe helyezésének ellenőrzéséhez futtassa a következő parancsot:

kubectl describe pod mypod
[...]
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
                 sku=gpu:NoSchedule
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  32s   default-scheduler  Successfully assigned default/mypod to moc-lk4iodl7h2y
  Normal  Pulling    30s   kubelet            Pulling image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine"
  Normal  Pulled     26s   kubelet            Successfully pulled image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine" in 4.529046457s
  Normal  Created    26s   kubelet            Created container mypod

Következő lépések