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 Azure Kubernetes Service (AKS) csomópontkészletek támogatott egyéni csomópontkonfigurációs paramétereit sorolja fel. A konfigurációs fájlok létrehozásáról és alkalmazásáról az AKS-csomópontkészletek csomópontkonfigurációjának testreszabása című témakörben olvashat.
Egyéni Kubelet-konfigurációs paraméterek
Important
A nem biztonságos sysctls engedélyezésekor ön felel a csomópont stabilitásáért és a számítási feladatok viselkedéséért. A nem biztonságos sysctlsek a csomópontok instabilitását vagy biztonsági réseit okozhatják, ha helytelenül van konfigurálva. Győződjön meg arról, hogy tisztában van azzal, hogy milyen következményekkel jár az adott nem biztonságos sysctls engedélyezése, majd a módosítások után szorosan figyelje a fürt állapotát.
Egyéni Linux kubelet-konfiguráció
| Paraméter | Engedélyezett értékek/intervallum | Alapértelmezett | 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 | Az a lemezhasználati százalék, amely után a rendszerkép-szemétgyűjtés mindig lefut. 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 alatt a képek szemétgyűjtése soha nem indul el. 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.* |
Nincs | 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 vagy nagyobb | 5 | A tárolóhoz megőrzendő tároló naplófájljainak maximális száma. |
podMaxPids |
-1 a kernel PID korlátjához | -1 (végtelen) | 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": . |
kubeReserved.cpuMillicores |
1 a csomópontkészlet processzorkapacitásához millicore-ban | Nincs | A Linux-csomópontkészleteken lévő Kubernetes rendszerdemonjaihoz tartozó CPU-t lefoglalja. Ez a paraméter előzetes verzióban érhető el, és a funkciójelzőt CustomNodeConfigPreview igényli. |
kubeReserved.memoryMB |
1 a csomópontkészlet memóriakapacitásához a MiB-ben | Nincs | Memóriát foglal le a Kubernetes rendszerdémonjai számára a Linux-csomópontkészletekben. Ez a paraméter előzetes verzióban érhető el, és a funkciójelzőt CustomNodeConfigPreview igényli. |
hardEvictionThreshold.memoryAvailable |
<number>Ki, <number>Mi, <number>Givagy <number>% ha a százalékos érték nem haladja meg a 100-t |
Nincs | Beállítja a kubelet szigorú kiürítési küszöbértékét az elérhető memóriára vonatkozóan a Linux-csomópontkészletekben. Ez a paraméter előzetes verzióban érhető el, és a funkciójelzőt CustomNodeConfigPreview igényli. |
hardEvictionThreshold.nodeFsAvailable |
<number>Ki, <number>Mi, <number>Givagy <number>% ha a százalékos érték nem haladja meg a 100-t |
Nincs | Beállítja a kubelet kényszerített kiürítési küszöbértékét a Linux-csomópontkészletekben a csomópont fájlrendszerén rendelkezésre álló területre vonatkozóan. Ez a paraméter előzetes verzióban érhető el, és a funkciójelzőt CustomNodeConfigPreview igényli. |
hardEvictionThreshold.nodeFsInodesFree |
<number> vagy <number>% ha a százalék nem haladja meg a 100-nál |
Nincs | Beállítja a kubelet hard eviction küszöbértékét a Linux-csomópontkészleteken lévő ingyenes csomópont fájlrendszer-inodákhoz. Ez a paraméter előzetes verzióban érhető el, és a funkciójelzőt CustomNodeConfigPreview igényli. |
Egyéni Windows kubelet-konfiguráció
| Paraméter | Engedélyezett értékek/intervallum | Alapértelmezett | Description |
|---|---|---|---|
imageGcHighThreshold |
0-100 | 85 | Az a lemezhasználati százalék, amely után a rendszerkép-szemétgyűjtés mindig lefut. 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 alatt a képek szemétgyűjtése soha nem indul el. 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 vagy nagyobb | 5 | A tárolóhoz megőrzendő tároló naplófájljainak maximális száma. |
Egyéni Linux operációsrendszer-konfigurációs paraméterek
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.
Ha például módosítja a vm.max_map_count beállítást, újra kell formáznia vmMaxMapCount 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 I/O-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. |
Megjegyzés:
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 mindegyik több fájlt és hálózati kapcsolatot nyithat 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 | 131 072 | 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 | 131 072 | A rendszer által egyidejűleg tartott foglalatok maximális száma TIME-WAIT . 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 | Lehetővé teszi a TIME-WAIT szoftvercsatornák újbóli használatát az ú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. A tartomány két számból áll: az ügynökcsomóponton a TCP- és UDP-forgalom számára engedélyezett első helyi portból és az utolsó helyi portszámból. |
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) | Nincs | Nincs | Nincs | 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, madvisenever |
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ő. |