Az Azure Kubernetes Service (AKS) csomópontkészleteinek csomópontkonfigurációjának testreszabása

A csomópontkonfiguráció testreszabásával módosíthatja az operációs rendszer beállításait vagy a kubelet paramétereit a számítási feladatok igényeinek megfelelően. Amikor létrehoz egy AKS-fürtöt, vagy hozzáad egy csomópontkészletet a fürthöz, testre szabhatja a gyakran használt operációsrendszer- és kubelet-beállítások egy részhalmazát. A beállítások ezen részhalmazon túli konfigurálásához használjon démonkészletet a szükséges konfigurációk testreszabásához anélkül, hogy elveszítené a csomópontok AKS-támogatását.

Prerequisites

Ahogy a szolgáltatás új beállítások és kubelet-paraméterek támogatásával bővül, szükség lehet az előzetes verziójú funkciójelző regisztrálására. Ha előzetes jelzőre van szükség, azt az egyéni csomópont-konfiguráció paramétereinek referenciája külön jelzi.

A hardEvictionThreshold és kubeReserved kubelet-beállítások előzetes követelményei

Fontos

Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióihoz részleges támogatást nyújt az ügyfélszolgálat a tőle telhető legjobb módon. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:

Az aks-preview Azure CLI-bővítmény telepítése

  1. Az aks-preview bővítmény telepítéséhez futtassa a következő parancsot:

    az extension add --name aks-preview
    
  2. Futtassa a következő parancsot a bővítmény legújabb verziójára való frissítéshez:

    az extension update --name aks-preview
    

Mielőtt használná az előnézeti CustomNodeConfigPreview és kubeReserved kubelet-beállításokat, regisztrálja az Azure-előfizetésében a hardEvictionThreshold funkciójelzőt.

Regisztráld a CustomNodeConfigPreview funkciójelzőt

  1. Regisztrálja a CustomNodeConfigPreview funkciójelzőt a az feature register parancs használatával.

    az feature register --namespace "Microsoft.ContainerService" --name "CustomNodeConfigPreview"
    

    Néhány percig tart, amíg az állapot megjelenik a Regisztrált állapotban.

  2. A parancs használatával ellenőrizze a regisztrációs állapotot az feature show .

    az feature show --namespace "Microsoft.ContainerService" --name "CustomNodeConfigPreview"
    
  3. Ha az állapot Regisztrált, frissítse a Microsoft.ContainerService erőforrás-szolgáltató regisztrációját a az provider register parancs használatával.

    az provider register --namespace "Microsoft.ContainerService"
    

Egyéni csomópontkonfigurációs fájlok létrehozása AKS-csomópontkészletekhez

Az operációs rendszer és a kubelet konfigurációjának módosításához hozzon létre egy új konfigurációs fájlt a kívánt paraméterekkel és beállításokkal. Ha nem ad meg értéket egy paraméterhez, a rendszer az alapértelmezett értéket használja.

Megjegyzés

Az alábbi példák a gyakori konfigurációs beállításokat mutatják be. Módosítsa a beállításokat a számítási feladatokra vonatkozó követelményeknek megfelelően. A támogatott egyéni konfigurációs paraméterek teljes listájáért tekintse meg az AKS egyéni csomópontkonfigurációs paramétereit.

Kubelet-konfiguráció

Hozzon létre egy linuxkubeletconfig.json fájlt a következő tartalommal:

{
 "cpuManagerPolicy": "static",
 "cpuCfsQuota": true,
 "cpuCfsQuotaPeriod": "200ms",
 "imageGcHighThreshold": 90,
 "imageGcLowThreshold": 70,
 "topologyManagerPolicy": "best-effort",
 "allowedUnsafeSysctls": [
  "kernel.msg*",
  "net.*"
],
 "failSwapOn": false
}

A Node Customization Preview kubelet-beállításainak Linux rendszerű csomópontkészleteken való használatához adja hozzá a(z) kubeReserved és hardEvictionThreshold elemet a kubelet konfigurációs fájlhoz. Az alábbi példa a Kubernetes-rendszer démonjai számára lefoglalja a processzort és a memóriát, és konfigurálja a kubelet kemény kizárási küszöbértékeit:

{
  "cpuManagerPolicy": "static",
  "kubeReserved": {
    "cpuMillicores": 200,
    "memoryMB": 1024
  },
  "hardEvictionThreshold": {
    "memoryAvailable": "20%",
    "nodeFsAvailable": "10%",
    "nodeFsInodesFree": "5%"
  }
}

A kubeReserved és hardEvictionThreshold elemet csak Linux-csomópontkészleteken használja. Mindkét beállításhoz szükség van a funkciójelzőre CustomNodeConfigPreview .

Operációs rendszer konfigurálása

Hozzon létre egy linuxosconfig.json fájlt a következő tartalommal:

{
 "transparentHugePageEnabled": "madvise",
 "transparentHugePageDefrag": "defer+madvise",
 "swapFileSizeMB": 1500,
 "sysctls": {
  "netCoreSomaxconn": 163849,
  "netIpv4TcpTwReuse": true,
  "netIpv4IpLocalPortRange": "32000 60000"
 }
}

AKS (Azure Kubernetes Service) fürt létrehozása egyéni konfigurációs fájlok használatával

Megjegyzés

Az új AKS-fürt létrehozásakor, amikor egyéni konfigurációs fájlokat használ, tartsa szem előtt az alábbi információkat.

  • Ha egy fürt létrehozásakor konfigurációt ad meg, a konfiguráció csak a kezdeti csomópontkészlet csomópontjaira vonatkozik. A fürt megtartja az alapértelmezett értékeket minden olyan beállítás esetében, amely nincs konfigurálva a JSON-fájlban.
  • CustomLinuxOsConfig A Windows operációs rendszer típusa nem támogatott.
  • Az előzetes verzió kubeReserved és hardEvictionThreshold a kubelet beállításai csak Linux-csomópontkészletek esetén támogatottak, és a CustomNodeConfigPreview funkciójelzőt igénylik. A klaszter vagy a csomópontkészlet létrehozása előtt hajtsa végre a regisztrációs lépéseket a kubeReserved és hardEvictionThreshold kubeletbeállítások előzetes követelményei című részben.

Hozzon létre egy új fürtöt egyéni konfigurációs fájlokkal a az aks create parancs futtatásával, és adja meg a konfigurációs fájlokat a --linux-os-config és --kubelet-config paraméterhez. Az alábbi példaparancs létrehoz egy új fürtöt az egyéni ./linuxkubeletconfig.json és ./linuxosconfig.json fájlokkal.

az aks create --name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json --linux-os-config ./linuxosconfig.json

Csomópontkészlet hozzáadása egyéni konfigurációs fájlok használatával

Megjegyzés

Tartsa szem előtt az alábbi információkat, amikor egyéni konfigurációs fájlok használatával új csomópontkészletet ad hozzá egy meglévő AKS-fürthöz:

  • Ha linuxos csomópontkészletet ad hozzá egy meglévő fürthöz, megadhatja a kubelet konfigurációját, az operációs rendszer konfigurációját vagy mindkettőt. Ha Windows csomópontkészletet ad hozzá egy meglévő fürthöz, csak a kubelet konfigurációját tudja megadni. Ha csomópontkészlet hozzáadásakor konfigurálást ad meg, a konfiguráció csak az új csomópontkészlet csomópontjaira vonatkozik. A csomópontkészlet megőrzi a JSON-fájlban nem konfigurált beállítások alapértelmezett értékeit.
  • CustomKubeletConfig Linux- és Windows-csomópontkészletek esetén támogatott.
  • Az előzetes verzió kubeReserved és hardEvictionThreshold a kubelet beállításai csak Linux-csomópontkészletek esetén támogatottak, és a CustomNodeConfigPreview funkciójelzőt igénylik. A klaszter vagy a csomópontkészlet létrehozása előtt hajtsa végre a regisztrációs lépéseket a A kubeReserved és hardEvictionThreshold kubelet-beállítások előzetes verziójára vonatkozó követelmények című témakörben.

Hozzon létre egy új Linux-csomópontkészletet a az aks nodepool add parancs használatával, és adja meg a --linux-os-config és --kubelet-config paraméterhez tartozó konfigurációs fájlokat. Az alábbi példaparancs létrehoz egy új Linux-csomópontkészletet az egyéni ./linuxkubeletconfig.json fájllal:

az aks nodepool add --name <node-pool-name> --cluster-name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json

A beállítások alkalmazásának megerősítése

Az egyéni csomópont-konfiguráció alkalmazása után megerősítheti, hogy a beállítások valóban érvényesültek a csomópontokra, a gazdagéphez való kapcsolódás révén, és a fájlrendszeren végrehajtott konfigurációs változtatások ellenőrzésével.

A támogatott egyéni konfigurációs paraméterek áttekintése

A támogatott kubelet- és Linux operációsrendszer-konfigurációs paraméterek, engedélyezett értékek, alapértelmezett értékek és leírások teljes listájáért tekintse meg az AKS egyéni csomópontkonfigurációs paramétereit.

Az egyéni csomópontkonfigurációk szempontjai

A csomópontkonfiguráció testreszabása során tartsa szem előtt az alábbi szempontokat:

  • A csomópont-rendszerképek frissítései újból alkalmazzák az egyéni csomópont-konfigurációkat.
  • A vertikális felskálázási műveletek megőrzik az egyéni csomópontkonfigurációkat.
  • Az AKS nem végez repülés előtti ellenőrzést minden egyéni csomópontkonfigurációs paraméter vagy érték esetében. Győződjön meg arról, hogy a megadott egyéni csomópontkonfigurációs paraméterek és értékek támogatottak és érvényesek a fürtcsomópontok esetleges problémáinak elkerülése érdekében.
  • Az előzetes verzió kubeReserved és hardEvictionThreshold a beállítások csak Linux-csomópontkészleteken érhetők el.
  • Ha konfigurálja kubeReserved, az értékeknek pozitívnak kell lenniük, és nem léphetik túl a célcsomópont-készletben elérhető processzor- vagy memóriakapacitást.
  • Ha konfigurálja hardEvictionThreshold, csak a támogatott egységeket használja: Ki, Mi, Gi vagy %memoryAvailable és nodeFsAvailable esetén, valamint egy nyers számot vagy % elemet nodeFsInodesFree esetén.
  • Az egyéni csomópontkonfigurációs paraméterek alapértelmezett értékei gyakran változnak az új operációsrendszer-verziók esetében. Egyéni csomópontkonfigurációk alkalmazásakor tekintse át a konfigurálni kívánt paraméterek alapértelmezett értékeit, hogy az egyéni beállítások megfelelőek legyenek a fürtcsomópontok operációs rendszerének verziójához.
  • Az egyéni csomópontkonfiguráció módosítására jogosult személyek számának korlátozása a fürt stabilitására és teljesítményére gyakorolt nem várt következmények elkerülése érdekében. Fontolja meg a Microsoft Entra ID-hitelesítés használatát a Kubernetes API-hoz a fürtkonfigurációs beállításokhoz való hozzáférés korlátozásához.
  • Az egyéni konfigurációval rendelkező csomópontkészleteket különítse el az egyéni konfigurációval nem rendelkezőktől, hogy megakadályozza a bizonyos konfigurációmódosításokra érzékeny számítási feladatok nem kívánt következményeit. Ha például olyan kritikus számítási feladattal rendelkezik, amely meghatározott kubelet-beállításokat igényel, érdemes lehet elkülöníteni a számítási feladatot egy dedikált csomópontkészlethez a szükséges egyéni kubelet-konfigurációval.