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


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

A következőkre vonatkozik: AKS az Azure Local 22H2-n, AKS Windows Serveren

Feljegyzés

Az Azure Local 23H2 AKS-ben található csomópontkészletek kezeléséről további információt a Csomópontkészletek kezelésecímű témakörben talál.

Az Azure Arc által engedélyezett AKS-ben az azonos konfigurációval rendelkező 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.

Feljegyzés

Ez a funkció lehetővé teszi több csomópontkészlet létrehozásának és kezelésének nagyobb szabályozását. Ennek eredményeképpen külön parancsok szükségesek a létrehozási, frissítési és törlési műveletekhez. Korábban a New-AksHciClusteren vagy a Set-AksHciClusteren keresztüli fürtműveletek voltak az egyetlen lehetőség egy windowsos csomópontkészlettel és egy Linux-csomópontkészlettel rendelkező fürt létrehozására vagy méretezésére. 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.

Mielőtt elkezdené

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ére vonatkozó 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 linuxnodepool nevű Linux-csomópontkészlettel, amely 1 csomóponttal rendelkezik. Ha már telepített egy fürtöt az AKS régebbi verziójával, és folytatni szeretné a régi üzembe helyezést, kihagyhatja ezt a lépést. Továbbra is használhatja az új csomópontkészlet-parancsokat, hogy több csomópontkészletet adjon hozzá a meglévő fürthöz.

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

Feljegyzé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észletből áll. 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 Paramétert a -name Get-AksHciNodePoolban.

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

Feljegyzés

Ha az új paraméterkészleteket New-AksHciCluster egy fürt üzembe helyezéséhez használja, majd futtatja Get-AksHciCluster a fürt információinak lekéréséhez, a mezők WindowsNodeCount és LinuxNodeCount a kimenet visszatérnek 0. Az egyes csomópontkészletekben található csomópontok pontos számának lekéréséhez használja a megadott fürtnevet tartalmazó parancsot Get-AksHciNodePool .

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ürtben elnevezett linuxnodepoolmycluster csomópontkészlet csomópontjainak 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. Továbbra is üzembe helyezi a vezérlősík csomópontjait a New-AksHciCluster paranccsal a paraméterekkel controlPlaneNodeCount , valamint controlPlaneVmSize az alapértelmezett 1 és Standard_A4_V2 értékekkel, ha nem ad meg értékeket.

Előfordulhat, hogy az alkalmazások számítási feladatainak változásakor skáláznia kell a vezérlősík csomópontjait. A vezérlősík-csomópontok méretezéséhez 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 fürtről elnevezett windowsnodepool csomópontkészletet mycluster .

Remove-AksHciNodePool -clusterName mycluster -name windowsnodepool

Csomópontkészletek szennyezettsé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ést. A fertőzöttségekkel és a tűrésekkel kapcsolatos további információkért lásd: Kubernetes Taints and Tolerations.

Csomópontkészlet-környezetek beállítása

Ha fertőzött csomópontkészletet szeretne létrehozni, használja a New-AksHciNodePoolt. Adja meg a nevet taintnp, és használja a -taints paramétert a fertőzöttség megadásához sku=gpu:noSchedule .

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

Feljegyzés

A csomópontkészletek létrehozásakor csak a csomópontkészletekhez állítható be fertőzöttség.

Futtassa a következő parancsot annak biztosításához, hogy a csomópontkészlet sikeresen üzembe lett-e helyezve a megadott fertőzöttséggel.

Get-AksHciNodePool -clusterName mycluster -name taintnp
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 a sku=gpu:NoSchedule taint értéket. Az alábbi egyszerű YAML-jegyzék egy tolerancia használatával teszi lehetővé, hogy a Kubernetes-ütemező NGINX-podot futtasson az adott csomópontkészlet egyik csomópontján.

Hozzon létre egy nevű nginx-toleration.yamlfájlt, és másolja az adatokat a következő 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