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.
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. Ha ezen az alkészleten túl szeretné konfigurálni a beállításokat, egy démonkészlettel testre szabhatja a szükséges konfigurációkat anélkül, hogy elveszítené a csomópontok AKS-támogatását.
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ós módosításaihoz létre kell hoznia egy új konfigurációs fájlt a paraméterekkel és a kívánt beállításokkal. Ha egy paraméter értéke nincs megadva, akkor az érték az alapértelmezett értékre van állítva.
Note
Az alábbi példák a gyakori konfigurációs beállításokat mutatják be. A beállításokat úgy módosíthatja, hogy megfeleljenek a számítási feladatokra vonatkozó követelményeknek. A támogatott egyéni konfigurációs paraméterek teljes listáját a Támogatott egyéni konfigurációs paraméterek szakaszban találja.
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
}
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
Note
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 JSON-fájlban nem konfigurált beállítások megőrzik az alapértelmezett értékeket.
-
CustomLinuxOsConfigA Windows operációs rendszer típusa nem támogatott.
Hozzon létre egy új fürtöt saját konfigurációs fájlok használatával a az aks create parancs segítségével, és adja meg a konfigurációs fájlait a --kubelet-config és --linux-os-config paraméterekhez. 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
Note
Ha új csomópontkészletet ad hozzá egy meglévő AKS-fürthöz, tartsa szem előtt az alábbi információkat, amikor egyéni konfigurációs fájlokat használ:
- 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 JSON-fájlban nem konfigurált beállítások megőrzik az alapértelmezett értékeket.
-
CustomKubeletConfigLinux- és Windows-csomópontkészletek esetén támogatott.
Hozzon létre egy új Linux-csomópontkészletet a az aks nodepool add parancs használatával, és adja meg a konfigurációs fájlokat a --kubelet-config és --linux-os-config paraméterekhez. 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.
Támogatott egyéni konfigurációs paraméterek
Egyéni Linux kubelet-konfiguráció
| Parameter | Engedélyezett értékek/intervallum | Default | Description |
|---|---|---|---|
cpuManagerPolicy |
nincs, statikus | none | A statikus házirend lehetővé teszi, hogy a konténerek garantált podokban egész számú CPU-kéréssel hozzáférjenek a csomóponton található kizárólagos CPU-khoz. |
cpuCfsQuota |
igaz, hamis | true | A CPU CFS-kvóta kikényszerítésének engedélyezése/letiltása olyan tárolók esetében, amelyek cpu-korlátokat határoznak meg. |
cpuCfsQuotaPeriod |
Intervallum ezredmásodpercben (ms) | 100ms |
A CPU CFS kvótaidőszakának értékét állítja be. |
imageGcHighThreshold |
0-100 | 85 | A lemezhasználat százalékos aránya, amely után a rendszerkép szemétgyűjtése mindig fut. A szemétgyűjtést kiváltó minimális lemezhasználat. A kép szemétgyűjtésének letiltásához állítsa be a 100 értéket. |
imageGcLowThreshold |
0-100, legfeljebb imageGcHighThreshold |
80 | A lemezhasználat azon százaléka, amely előtt a rendszerkép szemétgyűjtése soha nem fut. Minimális lemezhasználat, amely kiválthatja a szemétgyűjtést. |
topologyManagerPolicy |
none, best-effort, korlátozott, egyetlen-numa-csomópont | none | Optimalizálja a NUMA-csomópont igazítását. További információért lásd: Ellenőrzési topológia kezelési irányelvek egy csomóponton. |
allowedUnsafeSysctls |
kernel.shm*, kernel.msg*, kernel.sem, fs.mqueue.*, , net.* |
None | A nem biztonságos sysctls- vagy nem biztonságos sysctl-minták engedélyezett listája. |
containerLogMaxSizeMB |
Méret megabájtban (MB) | 50 | A tároló naplófájljainak maximális mérete (például 10 MB) a forgatás előtt. |
containerLogMaxFiles |
≥ 2 | 5 | A tárolóhoz megjeleníthető tároló naplófájljainak maximális száma. |
podMaxPids |
-1 a kernel PID korlátjához | -1 (∞) | A podban futtatható folyamatazonosítók maximális száma. |
seccompDefault |
Unconfined, RuntimeDefault |
Unconfined |
Beállítja az alapértelmezett seccomp profilt az összes számítási feladathoz.
RuntimeDefault A tárolód alapértelmezett seccomp-profilját használja, amely korlátozza bizonyos rendszerhívásokat a biztonság növelése érdekében. A korlátozott syscalls nem működik.
Unconfined nem korlátozza a syscalls szolgáltatást, lehetővé téve az összes rendszerhívást, és csökkenti a biztonságot. További információkért tekintse meg a tárolóalapú alapértelmezett seccomp profilt. Ez a paraméter előzetes verzióban érhető el.
Regisztrálja a "KubeletDefaultSeccompProfilePreview" funkciójelzőt a az feature register következő paranccsal --namespace "Microsoft.ContainerService": . |
Egyéni Windows kubelet-konfiguráció
| Parameter | Engedélyezett értékek/intervallum | Default | Description |
|---|---|---|---|
imageGcHighThreshold |
0-100 | 85 | A lemezhasználat százalékos aránya, amely után a rendszerkép szemétgyűjtése mindig fut. A szemétgyűjtést kiváltó minimális lemezhasználat. A kép szemétgyűjtésének letiltásához állítsa be a 100 értéket. |
imageGcLowThreshold |
0-100, legfeljebb imageGcHighThreshold |
80 | A lemezhasználat azon százaléka, amely előtt a rendszerkép szemétgyűjtése soha nem fut. Minimális lemezhasználat, amely kiválthatja a szemétgyűjtést. |
containerLogMaxSizeMB |
Méret megabájtban (MB) | 10 | A tároló naplófájljainak maximális mérete (például 10 MB) a forgatás előtt. |
containerLogMaxFiles |
≥ 2 | 5 | A tárolóhoz megjeleníthető tároló naplófájljainak maximális száma. |
Egyéni Linux operációsrendszer-konfigurációs beállítások
Important
A keresés és az olvashatóság egyszerűsítése érdekében az operációsrendszer-beállítások a nevük alapján jelennek meg ebben a cikkben, de a camelCase nagybetűsítési konvencióval hozzá kell adni őket a konfigurációs JSON-fájlhoz vagy az AKS API-hoz.
Például, ha módosítja a vm.max_map_count setting elemet, újra kell formáznia vmMaxMapCount-ra a konfigurációs JSON-fájlban.
Linux-fájlkezelő korlátai
A nagy mennyiségű forgalom kiszolgálása során ez a forgalom gyakran nagy számú helyi fájlból származik. Az alábbi kernelbeállításokat és a beépített korlátokat úgy módosíthatja, hogy a rendszermemória árán további műveletekre is képes legyen.
Az alábbi táblázat felsorolja a csomópontkészletenként testre szabható fájlleíró-korlátokat:
| Setting | Engedélyezett értékek/intervallum | Ubuntu 22.04 alapértelmezett | Ubuntu 24.04 alapértelmezett | Alapértelmezett Azure Linux 3.0 | Description |
|---|---|---|---|---|---|
fs.file-max |
8192 - 9223372036854775807 | 9223372036854775807 | 9223372036854775807 | 9223372036854775807 | A Linux kernel által lefoglalt fájlkezelők maximális száma. Ez az érték a lehetséges maximális értékre van állítva (2^63-1), hogy megakadályozza a fájlleírók kimerülését, és korlátlan rendszerszintű fájlkezelőket biztosítson a tárolóalapú számítási feladatokhoz. |
fs.inotify.max_user_watches |
781250 - 2097152 | 1048576 | 1048576 | 1048576 | A rendszer által engedélyezett fájlmegfigyelések maximális száma. Minden figyelő körülbelül 90 bájt egy 32 bites kernelen, és körülbelül 160 bájt egy 64 bites kernelen. |
fs.aio-max-nr |
65536 - 6553500 | 65536 | 65536 | 65536 | Az aio-nr az aszinkron io-kérések aktuális rendszerszintű számát jeleníti meg. Az aio-max-nr lehetővé teszi az aio-nr maximális értékének módosítását. |
fs.nr_open |
8192 - 20000500 | 1048576 | 1048576 | 1073741816 | A folyamat által lefoglalható fájlkezelők maximális száma. |
Note
A fs.file-max paraméter 9223372036854775807 (az aláírt 64 bites egész szám maximális értéke) értékre van állítva az Ubuntu és az Azure Linux esetében a felsőbb rétegbeli alapértelmezett értékek alapján. Ez a konfiguráció:
- Megakadályozza a szolgáltatásmegtagadásos támadásokat a rendszerszintű fájlleíró kimerülése alapján.
- Biztosítja, hogy a tárolói munkaterhelések soha ne kerüljenek a rendszerszintű fájlleíró korlátok miatti szűk keresztmetszetbe.
-
A biztonságot folyamatonkénti korlátokon (
fs.nr_openésulimit) keresztül tartja fenn, amelyek továbbra is érvényesek az egyes folyamatokra. - Olyan tárolóplatformokra optimalizálja , amelyeken egyszerre több tároló is futhat, és amelyek egyszerre több fájlt és hálózati kapcsolatot nyithatnak meg.
Linux-socketek és hálózat finomhangolása
Az ügynökcsomópontok esetében, amelyek várhatóan nagy számú egyidejű munkamenetet fognak kezelni, a következő TCP- és hálózati beállításokat használhatja, és csomópontkészletenként módosíthatja őket:
| Setting | Engedélyezett értékek/intervallum | Ubuntu 22.04 alapértelmezett | Ubuntu 24.04 alapértelmezett | Alapértelmezett Azure Linux 3.0 | Description |
|---|---|---|---|---|---|
net.core.somaxconn |
4096 - 3240000 | 16384 | 16384 | 16384 | Bármely adott figyelő sockethez sorba állítható kapcsolatkérések maximális száma. A figyelés(2) függvénynek átadott hátralékparaméter értékének felső korlátja. Ha a hátralék argumentum nagyobb a somaxconnkorlátnál, akkor a rendszer csendben csonkolja ezt a korlátot. |
net.core.netdev_max_backlog |
1000 - 3240000 | 1000 | 1000 | 1000 | A bemeneti oldalon várólistára helyezett csomagok maximális száma, ha a felület gyorsabban fogadja a csomagokat, mint amennyit a kernel képes feldolgozni. |
net.core.rmem_max |
212992 - 134217728 | 1048576 | 1048576 | 212992 | A fogadó csatlakozó maximális pufferméret bájtban. |
net.core.wmem_max |
212992 - 134217728 | 212992 | 212992 | 212992 | A maximális küldési fogadó puffer mérete bájtban. |
net.core.optmem_max |
20480 - 4194304 | 20480 | 131072 | 20480 | Foglalatonként megengedett maximális kiegészítő pufferméret (opciós memóriapuffer). A szoftvercsatorna-beállítás memóriája néhány esetben a szoftvercsatorna használatával kapcsolatos további struktúrák tárolására szolgál. |
net.ipv4.tcp_max_syn_backlog |
128 - 3240000 | 16384 | 16384 | 16384 | Azoknak a várólistás kapcsolatkéréseknek a maximális száma, amelyek nem kaptak visszaigazolást a csatlakozó ügyféltől. Ha túllépi ezt a számot, a kernel elkezdi elvetni a kérelmeket. |
net.ipv4.tcp_max_tw_buckets |
8000 - 1440000 | 262144 | 262144 | 131072 | A rendszer által egyidejűleg tartott timewait foglalatok maximális száma. Ha túllépi ezt a számot, a rendszer azonnal megsemmisíti az idő-várakozási foglalatot, és a rendszer figyelmeztetést nyomtat. |
net.ipv4.tcp_fin_timeout |
5 - 120 | 60 | 60 | 60 | Az az időtartam, ameddig egy árva kapcsolat (amelyet már semmilyen alkalmazás nem hivatkozik) a FIN_WAIT_2 állapotban marad, mielőtt a helyi végen megszakítják. |
net.ipv4.tcp_keepalive_time |
30 - 432000 | 7200 | 7200 | 7200 | Milyen gyakran küld üzeneteket keepalive a TCP, ha keepalive engedélyezve van. |
net.ipv4.tcp_keepalive_probes |
1 - 15 | 9 | 9 | 9 | Hány keepalive mintavételt küld a TCP, amíg el nem dönti, hogy a kapcsolat megszakadt. |
net.ipv4.tcp_keepalive_intvl |
10 - 90 | 75 | 75 | 75 | Milyen gyakran küldik el a szondákat. A szondák elindítása után tcp_keepalive_probes-val/-vel megszorozva ez adja meg a nem válaszoló kapcsolat megszakításának idejét. |
net.ipv4.tcp_tw_reuse |
2 | 2 | 2 | Engedélyezi a TIME-WAIT socketek újbóli használatát új kapcsolatokhoz, ha az biztonságos a protokoll szempontjából. |
|
net.ipv4.ip_local_port_range |
Első: 1024 - 60999 és Utolsó: 32768 - 65535] | Első: 32768 és Utolsó: 60999 | Első: 32768 és Utolsó: 60999 | Első: 32768 és Utolsó: 60999 | A TCP- és UDP-forgalom által a helyi port kiválasztásához használt helyi porttartomány. Két számból áll: Az első szám az ügynökcsomópontON a TCP- és UDP-forgalom számára engedélyezett első helyi port, a második pedig az utolsó helyi portszám. |
net.ipv4.neigh.default.gc_thresh1 |
128 - 80000 | 4096 | 4096 | 4096 | Az ARP-gyorsítótárban található bejegyzések minimális száma. A szemétgyűjtés nem aktiválódik, ha a bejegyzések száma nem éri el ezt a beállítást. |
net.ipv4.neigh.default.gc_thresh2 |
512 - 90000 | 8192 | 8192 | 8192 | Az ARP-gyorsítótárban tárolható bejegyzések rugalmas maximális száma. Ez a beállítás vitathatatlanul a legfontosabb, mivel az ARP szemétgyűjtés körülbelül 5 másodperccel a maximális érték elérése után aktiválódik. |
net.ipv4.neigh.default.gc_thresh3 |
1024 - 100000 | 16384 | 16384 | 16384 | Az ARP-gyorsítótárban lévő bejegyzések szigorú maximális száma. |
net.netfilter.nf_conntrack_max |
131072 - 2097152 | Dinamikusan kiszámított | Dinamikusan kiszámított | Dinamikusan kiszámított |
nf_conntrack Egy modul, amely a Linuxon belüli NAT-kapcsolatok bejegyzéseit követi nyomon. A nf_conntrack modul kivonattáblával rögzíti a TCP protokoll létrehozott kapcsolati rekordját.
nf_conntrack_max a kivonattáblában található csomópontok maximális száma, azaz a modul által nf_conntrack támogatott kapcsolatok maximális száma vagy a kapcsolatkövetési tábla mérete.
Az alapértelmezett érték dinamikusan van kiszámítva a rendszermemória alapján a következő képlettel: RAM_in_bytes / 16384 (vagy RAM_in_MB * 64). Például egy 8 GB RAM-mal rendelkező virtuális gép alapértelmezett értéke körülbelül 524 288 kapcsolat. A tényleges értékek a virtuális gép méretétől és a rendelkezésre álló memóriától függően változnak. |
net.netfilter.nf_conntrack_buckets |
65536 - 524288 | Dinamikusan kiszámított | Dinamikusan kiszámított | Dinamikusan kiszámított |
nf_conntrack Egy modul, amely a Linuxon belüli NAT-kapcsolatok bejegyzéseit követi nyomon. A nf_conntrack modul kivonattáblával rögzíti a TCP protokoll létrehozott kapcsolati rekordját.
nf_conntrack_buckets a kivonattábla mérete.
Az alapértelmezett érték dinamikusan számítható ki a rendszermemória alapján a következő képlettel: RAM_in_bytes / 16384legalább 1024 gyűjtővel és legfeljebb 262 144 gyűjtővel. Az alapértelmezett nf_conntrack_max érték általában a következő.nf_conntrack_buckets * 4 A tényleges értékek a virtuális gép méretétől és a rendelkezésre álló memóriától függően változnak. |
Linuxos feldolgozói korlátok
A fájlleíró korlátaihoz hasonlóan a folyamat által létrehozható feldolgozók vagy szálak számát a kernelbeállítás és a felhasználói korlátok is korlátozzák. Az AKS felhasználói korlátja korlátlan. Az alábbi táblázat felsorolja a csomópontkészletenként testre szabható kernelbeállítást:
| Setting | Ubuntu 22.04 alapértelmezett | Ubuntu 24.04 alapértelmezett | Alapértelmezett Azure Linux 3.0 | Description |
|---|---|---|---|---|
kernel.threads-max |
Dinamikusan kiszámított | Dinamikusan kiszámított | Dinamikusan kiszámított | A folyamatok felpörgethetik a feldolgozói szálakat. A létrehozható összes szál maximális száma a kernelbeállítással kernel.threads-maxvan beállítva.
Az alapértelmezett érték dinamikusan számítható ki a rendszermemória alapján a következő képlettel: total_ram_pages / 4 (ahol az egyes lapok általában 4 KB-osak). A tényleges értékek a virtuális gép méretétől és a rendelkezésre álló memóriától függően változnak. |
Linux virtuális memória
Az alábbi táblázat felsorolja azokat a kernelbeállításokat, amelyeket csomópontkészletenként testre szabhat a Linux kernel virtuális memória (VM) alrendszerének és a writeout lemezre irányuló piszkos adatok működésének finomhangolásához:
| Setting | Engedélyezett értékek/intervallum | Ubuntu 22.04 alapértelmezett | Ubuntu 24.04 alapértelmezett | Alapértelmezett Azure Linux 3.0 | Description |
|---|---|---|---|---|---|
vm.max_map_count |
65530 | 1048576 | 1048576 | Ez a fájl a folyamat memóriatérkép-területeinek maximális számát tartalmazza. A memóriatérkép-területeket mellékhatásként hívják meg a malloc hívásával, közvetlenül a mmap, mprotect és madvise, valamint a megosztott könyvtárak betöltésekor. |
|
vm.vfs_cache_pressure |
1 - 100 | 100 | 100 | 100 | Ez a százalékos érték szabályozza a kernel azon hajlamát, hogy visszanyerje a könyvtár- és inode-objektumok gyorsítótárazására használt memóriát. |
vm.swappiness |
0 - 100 | 60 | 60 | 60 | Ez a vezérlő határozza meg, hogy a kernel milyen agresszív módon cseréli fel a memórialapokat. A magasabb értékek növelik az agresszivitást, az alacsonyabb értékek csökkentik a felcserélés mennyiségét. A 0 érték arra utasítja a kernelt, hogy ne kezdeményezzon felcserélést, amíg a szabad és fájlalapú lapok mennyisége nem kisebb, mint a zóna magas vízjele. |
swapFileSizeMB |
1 MB – Az ideiglenes lemez mérete (/dev/sdb) | None | None | None | A SwapFileSizeMB a csomópontkészlet ügynökcsomópontjain létrehozandó felcserélési fájl MB-ban megadott méretét adja meg. |
transparentHugePageEnabled |
\ |
always |
always |
madvise |
A Transzparens Hugepages linuxos kernelfunkció, amelynek célja, hogy hatékonyabbá tegye a processzor memórialeképezési hardverének használatát. Ha engedélyezve van, a kernel megpróbálja lefoglalni hugepages , amikor csak lehetséges, és bármely Linux-folyamat 2 MB-os oldalakat kap, ha a mmap régió természetesen 2 MB-ra van igazítva. Bizonyos esetekben, amikor a hugepages rendszer szintjén engedélyezve van, az alkalmazások több memóriaerőforrást foglalhatnak le. Egy alkalmazás lefoglalhat egy nagy méretű régiót mmap, de csak 1 bájtot érinthet, így egy 2 MB-os lap foglalható le egy 4k-oldal helyett, indokolatlanul. Ez a forgatókönyv az oka annak, hogy a hugepages az egész rendszerben letiltható, vagy csak a MADV_HUGEPAGE madvise régiókon belül használható. |
transparentHugePageDefrag |
always, defer, defer+madvise, madvise, , never |
madvise |
madvise |
madvise |
Ez az érték határozza meg, hogy a kernelnek agresszívan kell-e alkalmaznia a memória-tömörítést, hogy több hugepages legyen elérhető. |
Kapcsolódó tartalom
- Megtudhatja, hogyan konfigurálhatja az AKS-fürtöt.
- Megtudhatja, hogyan frissítheti a fürt csomópontrendszerképeit .
- Lásd az Azure Kubernetes Service (AKS) fürt frissítése részt, ahol megtudhatja, hogyan frissítheti fürtjét a Kubernetes legújabb verziójára.
- Az AKS-sel kapcsolatos gyakori kérdések listáját az AKS-sel kapcsolatos gyakori kérdések listájában találja meg, és válaszokat talál néhány gyakori AKS-kérdésre.