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ű mycluster
fü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 linuxnodepool
mycluster
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.yaml
fá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