Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan konfigurálhatja a csomópontkészleteket a csomópontok automatikus kiépítéséhez (NAP) az Azure Kubernetes Service (AKS) keretében, beleértve a SKU-választókat, az erőforráskorlátokat és a prioritási súlyokat. Példákat is kínál az első lépésekhez.
Csomópontkészletek áttekintése a NAP-ban
A NAP virtuálisgép-termékváltozat-követelményeket használ a függőben lévő számítási feladatokhoz legmegfelelőbb virtuális gépek kiválasztásához. Konfigurálhatja a következőt:
- Termékváltozatcsaládok és adott példánytípusok.
- Erőforráskorlátok és prioritások.
- Spot vagy igény szerinti példányok.
- Architektúrára és képességekre vonatkozó követelmények.
Az NodePool erőforrás korlátozza a NAP által létrehozott csomópontokat és az ezeken a csomópontokon futó podokat. A NAP első telepítésekor az alapértelmezett NodePoolértéket hozza létre. Módosíthatja ezt a csomópontkészletet, vagy létrehozhat további csomópontkészleteket a számítási feladatok igényeinek megfelelően.
NAP kulcsfontosságú viselkedései NodePools
A NAP konfigurálásakor NodePools tartsa szem előtt az alábbi viselkedéseket:
- A NAP működéséhez legalább egy
NodePoolszükséges. - A NAP kiértékeli az egyes konfigurált elemeket
NodePool. - A NAP kihagyja a
NodePoolspod által nem tolerált fertőzötteket. - NAP indítási taint-eket alkalmaz a kiépített csomópontokra, de nem igényel pod toleranciát.
- A NAP akkor működik a legjobban, ha kölcsönösen kizáró
NodePools.NodePoolsTöbb egyezés esetén a legnagyobb súlyút használja.
A csomópontkészlet alapértelmezett konfigurációjának áttekintése
A NAP által létrehozott alapértelmezett Karpenter NodePooldefault konfigurációja a következő:
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
name: default
spec:
disruption:
consolidationPolicy: WhenEmptyOrUnderutilized
template:
spec:
nodeClassRef:
name: default
expireAfter: Never
# Requirements that constrain the parameters of provisioned nodes.
# These requirements are combined with pod.spec.affinity.nodeAffinity rules.
# Operators { In, NotIn, Exists, DoesNotExist, Gt, and Lt } are supported.
# https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#operators
requirements:
- key: kubernetes.io/arch
operator: In
values:
- amd64
- key: kubernetes.io/os
operator: In
values:
- linux
- key: karpenter.sh/capacity-type
operator: In
values:
- on-demand
- key: karpenter.azure.com/sku-family
operator: In
values:
- D
Emellett létrehoz egy csomópontkészletet system-surge is, amely segít automatikusan skálázni a rendszerkészlet csomópontjait.
Az alapértelmezett csomópontkészlet konfigurálásának szabályozása a fürt létrehozása során
Amikor a NAP-val engedélyezett új AKS-fürtöt hoz létre a Azure CLI használatával, a --node-provisioning-default-pools jelzővel szabályozhatja az alapértelmezett NAP NodePool konfigurációját.
A --node-provisioning-default-pools jelölő vezérli az alapértelmezett NAP-konfigurációt NodePool , és elfogadja a következő értékeket:
-
Auto(alapértelmezett): Két szabványtNodePoolshoz létre azonnali használatra. -
None: Nem hoz létre bármilyenNodePools. Meg kell határoznia a sajátját.
Figyelmeztetés
Auto értékről None értékre történő váltás: Ha egy meglévő fürtön módosítja a beállítást Auto-ról None-ra, az alapértelmezett NodePools nem kerül automatikus törlésre. Ha már nincs rájuk szüksége, manuálisan kell törölnie őket.
Csomópontkészlet konfigurációs beállításai
A következő szakaszok a NAP különböző konfigurációs lehetőségeit NodePools ismertetik, beleértve a jól ismert címkéket és termékváltozat-választókat, a csomópontkészlet korlátait és a csomópontkészlet súlyát.
Jól ismert címkék és termékváltozat-választók
A Kubernetes well-ismert címkéket definiál, amelyeket Azure implementál. Ezeket a címkéket a spec.requirements szakaszban, a NodePool API-ban határozhatja meg. A NAP emellett Azure-specifikus címkéket is támogat a speciálisabb ütemezéshez.
karpenter.azure.com Termékváltozat-választók
Az alábbi táblázat felsorolja a karpenter.azure.com SKU választókat, amelyeket a spec.requirements részében a NodePool API-nak használhat a csomópontok virtuálisgép-jellemzőinek meghatározásához.
| Selector | Description | Example |
|---|---|---|
karpenter.azure.com/sku-family |
Virtuális gép SKU családja | D, F, L stb. |
karpenter.azure.com/sku-name |
Explicit termékváltozat neve | Standard_A1_v2 |
karpenter.azure.com/sku-version |
SKU verzió (v nélkül, használható az 1) | 1, 2 |
karpenter.sh/capacity-type |
Virtuálisgép-foglalás típusa (Spot / igény szerinti) | Pont |
karpenter.azure.com/sku-cpu |
Processzorok száma a virtuális gépen | 16 |
karpenter.azure.com/sku-memory |
Memória a MiB virtuális gépében | 131072 |
kubernetes.azure.com/sku-cpu |
Processzorok száma a virtuális gépen | 16 |
kubernetes.azure.com/sku-memory |
Memória a MiB virtuális gépében | 131072 |
karpenter.azure.com/sku-gpu-name |
GPU neve | A100 |
karpenter.azure.com/sku-gpu-manufacturer |
GPU-gyártó | nvidia |
karpenter.azure.com/sku-gpu-count |
GPU-k száma virtuális gépenként | 2 |
karpenter.azure.com/sku-networking-accelerated |
Azt jelzi, hogy a virtuális gép felgyorsította-e a hálózatkezelést | [igaz, hamis] |
karpenter.azure.com/sku-storage-premium-capable |
Az, hogy a virtuális gép támogatja-e a Prémium IO-tárolót | [igaz, hamis] |
karpenter.azure.com/sku-storage-ephemeralos-maxsize |
A rövid élettartamú operációsrendszer-lemez méretkorlátja Gb-ban | 92 |
kubernetes.io jól ismert címkék
Az alábbi táblázat felsorolja az kubernetes.io jól ismert címkéket, amelyeket az spec.requirements szakaszában az ön NodePool API-jának használhat a csomópontok jellemzőinek meghatározásához.
| Címke | Description | Example |
|---|---|---|
topology.kubernetes.io/zone |
Rendelkezésre állási zóna(ok) | [uksouth-1,uksouth-2,uksouth-3] |
kubernetes.io/os |
Operációs rendszer | Linux |
kubernetes.io/arch |
CPU-architektúra (AMD64 vagy ARM64) | [amd64, arm64] |
SKU család példák
A karpenter.azure.com/sku-family választóval meghatározott virtuálisgép-családokat célozhat meg.
| Család | Description |
|---|---|
| D sorozat | Kiegyensúlyozott processzor-memória arányú általános célú virtuális gépek |
| F sorozat | Számításra optimalizált virtuális gépek magas processzor-memória aránysal |
| E-sorozat | Memóriaoptimalizált virtuális gépek memóriaigényes alkalmazásokhoz |
| L sorozat | Tárolóoptimalizált, nagy lemezteljesítményű virtuális gépek |
| N sorozat | GPU-kompatibilis virtuális gépek nagy számítási feladatokhoz |
Példa konfiguráció termékváltozatcsalád használatával:
requirements:
- key: karpenter.azure.com/sku-family
operator: In
values:
- D
- F
Termékváltozat neve – példák
A karpenter.azure.com/sku-name választóval pontosan megadhatja a virtuálisgép-példány típusát.
requirements:
- key: karpenter.azure.com/sku-name
operator: In
values:
- Standard_D4s_v3
- Standard_F8s_v2
Termékváltozatra vonatkozó példák
A karpenter.azure.com/sku-version választó a virtuálisgép-termékváltozatok meghatározott generációját célozza meg.
requirements:
- key: karpenter.azure.com/sku-version
operator: In
values:
- "3" # v3 generation
- "5" # v5 generation
Példa rendelkezésre állási zónára
A topology.kubernetes.io/zone választóval megadhatja a csomópontok rendelkezésre állási zónáit.
requirements:
- key: topology.kubernetes.io/zone
operator: In
values:
- eastus-1
- eastus-2
Megjegyzés:
A régióhoz elérhető zónákat a az account list-locations --output table Azure CLI paranccsal találhatja meg.
Architektúra példa
A kubernetes.io/arch választóval megadhatja a csomópontok processzorarchitektúráját. A NAP támogatja mind a amd64, mind a arm64 csomópontokat.
requirements:
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
Operációs rendszer – példa
A kubernetes.io/os választóval megadhatja a csomópontok operációs rendszerét.
requirements:
- key: kubernetes.io/os
operator: In
values:
- linux
Példa kapacitástípusra
A karpenter.sh/capacity-type választóval megadhatja, hogy a Spot vagy az igény szerinti példányokat használja-e.
Megjegyzés:
A NAP a Spot példányokat részesíti előnyben, ha mind a Spot, mind az igény szerinti példány meg van adva.
requirements:
- key: karpenter.sh/capacity-type
operator: In
values:
- spot
- on-demand
Csomópontkészlet korlátai
Alapértelmezés szerint a NAP megkísérli ütemezni a számítási feladatokat a rendelkezésre álló Azure kvótán belül. A csomópontkészlet által használt erőforrások felső korlátját is megadhatja a csomópontkészlet specifikációjának korlátainak megadásával. Például:
spec:
# Resource limits constrain the total size of the cluster.
# Limits prevent Node Auto Provisioning from creating new instances once the limit is exceeded.
limits:
cpu: "1000"
memory: 1000Gi
Csomópontkészlet súlyozása
Ha több csomópontkészlet van definiálva, beállíthatja, hogy hol kell ütemezni a számítási feladatokat a csomópontkészlet-definíciók relatív súlyának meghatározásával. Például:
spec:
# Priority given to the node pool when the scheduler considers which to select.
# Higher weights indicate higher priority when comparing node pools.
# Specifying no weight is equivalent to specifying a weight of 0.
weight: 10
Statikus csomópontkészletek
A statikus csomópontkészletekkel rögzített számú csomópont hozható létre a replicas mező használatával. Statikus csomópontkészletek esetén a csomópontok száma mindig legalább a mezőben megadott replicas érték lesz, függetlenül a függőben lévő podnyomástól. A mező beállításával nodeslimits azt is beállíthatja, hogy a csomópontkészlet legfeljebb hány csomópontra méretezhető fel.
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
name: static-node-pool
spec:
replicas: 5
template:
spec:
requirements:
- key: karpenter.azure.com/sku-name
operator: In
values:
- Standard_D4s_v3
- Standard_F8s_v2
- key: topology.kubernetes.io/zone
operator: In
values:
- eastus-1
- eastus-2
- eastus-3
limits:
nodes: 10 # Maximum number of nodes this node pool can scale up to
Megjegyzés:
Ha statikus csomópontkészletekkel használja a limits mezőt, csak a nodes: mező állítható. Az erőforrások nem állíthatók be.
Következő lépések
Az AKS-ben a csomópontok automatikus kiépítésével kapcsolatos további információkért tekintse meg az alábbi cikkeket: