Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Kubernetes Service (AKS) düğüm havuzları için desteklenen özel düğüm yapılandırma parametreleri listelenmektedir. Yapılandırma dosyaları oluşturmayı ve uygulamayı öğrenmek için bkz. AKS düğüm havuzları için düğüm yapılandırmasını özelleştirme.
Kubelet özel yapılandırma parametreleri
Important
Güvenli olmayan sysctls'leri etkinleştirirken düğüm kararlılığı ve iş yükü davranışı sorumluluğunu üstlenirsiniz. Güvenli olmayan sysctls, yanlış yapılandırılmışsa düğüm kararsızlığı veya güvenlik açıklarına neden olabilir. Belirli güvenli olmayan sysctls'leri etkinleştirmenin etkilerini anladığınızdan ve değişiklik yaptıktan sonra kümenizin durumunu yakından izlediğinizden emin olun.
Linux kubelet özel yapılandırması
| Parameter | İzin verilen değerler/aralık | Varsayılan | Description |
|---|---|---|---|
cpuManagerPolicy |
none, statik | none | Statik ilke, tamsayı CPU isteği içeren garantili podlardaki kapsayıcıların düğümdeki özel CPU'lara erişmesini sağlar. |
cpuCfsQuota |
doğru, yanlış | doğru | CPU sınırlarını belirten kapsayıcılar için CPU CFS kota uygulamasını etkinleştirin/devre dışı bırakın. |
cpuCfsQuotaPeriod |
Milisaniye cinsinden aralık (ms) | 100ms |
CPU CFS kota dönemi değerini ayarlar. |
imageGcHighThreshold |
0-100 | 85 | Belirli bir disk kullanımı yüzdesine ulaşıldığında görüntü çöp toplama işleminin her zaman çalıştırıldığı yüzdelik dilim. Çöp toplamayı tetikleyen minimum disk kullanımı. Görüntü çöp toplamayı devre dışı bırakmak için 100 olarak ayarlayın. |
imageGcLowThreshold |
0-100, en fazla imageGcHighThreshold |
80 | Disk kullanım yüzdesinin belirli bir seviyenin altında olduğu durumlarda, görüntü atık toplama işlemi çalıştırılmaz. Çöp toplamayı tetikleyebilen en düşük disk kullanımı. |
topologyManagerPolicy |
none, en iyi çaba, kısıtlı, tek-numa-düğüm | none | NUMA düğümü hizalamasını iyileştirin. Daha fazla bilgi için bkz. Düğümde Kontrol Topolojisi Yönetimi İlkeleri. |
allowedUnsafeSysctls |
kernel.shm*, kernel.msg*, kernel.sem, fs.mqueue.*, , net.* |
Hiçbiri | Güvenli olmayan sysctl veya güvenli olmayan sysctl desenlerinin izin verilen listesi. |
containerLogMaxSizeMB |
Megabayt cinsinden boyut (MB) | 50 | Bir kapsayıcı günlük dosyasının döndürülmeden önceki en büyük boyutu (örneğin, 10 MB). |
containerLogMaxFiles |
2 veya daha büyük | 5 | Kapsayıcı için tutulacak en fazla kapsayıcı günlüğü dosyası sayısı. |
podMaxPids |
-1 ile çekirdek PID sınırı | -1 (sonsuz) | Bir podda çalışabilecek işlem kimlikleri sayısı üst sınırı. |
seccompDefault |
Unconfined, RuntimeDefault |
Unconfined |
Tüm iş yükleri için varsayılan sekcomp profilini ayarlar.
RuntimeDefault , güvenliği artırmak için belirli sistem çağrılarını kısıtlayarak containerd'ın varsayılan seccomp profilini kullanır. Kısıtlı sistem çağrıları başarısız olur.
Unconfined sistem çağrıları üzerinde hiçbir kısıtlama koymaz, böylece tüm sistem çağrılarına izin verir ve güvenliği azaltır. Daha fazla bilgi için kapsayıcılı varsayılan seccomp profiline bakın. Bu parametre önizleme aşamasındadır. komutunu kullanarak "KubeletDefaultSeccompProfilePreview" özellik bayrağını az feature register--namespace "Microsoft.ContainerService". |
kubeReserved.cpuMillicores |
1 düğüm havuzu CPU kapasitesi, millicore cinsinden | Hiçbiri | Linux düğüm havuzlarında Kubernetes sistem daemon'ları için CPU ayırır. Bu parametre önizleme aşamasındadır ve özellik bayrağı gerektirir CustomNodeConfigPreview . |
kubeReserved.memoryMB |
MiB'de düğüm havuzu bellek kapasitesine 1 | Hiçbiri | Linux düğüm havuzlarında Kubernetes sistem daemon'ları için bellek ayırır. Bu parametre önizleme aşamasındadır ve özellik bayrağı gerektirir CustomNodeConfigPreview . |
hardEvictionThreshold.memoryAvailable |
<number>Ki, <number>Mi, <number>Gi veya <number>%, burada yüzde değeri 100'den fazla değildir |
Hiçbiri | Linux düğüm havuzlarında kullanılabilir bellek için kubelet’in kesin tahliye eşiğini ayarlar. Bu parametre önizleme aşamasındadır ve özellik bayrağı gerektirir CustomNodeConfigPreview . |
hardEvictionThreshold.nodeFsAvailable |
<number>Ki, <number>Mi, <number>Gi veya <number>%, burada yüzde değeri 100'den fazla değildir |
Hiçbiri | Linux düğüm havuzlarında düğüm dosya sistemindeki kullanılabilir alan için kubelet’in kesin tahliye eşiğini ayarlar. Bu parametre önizleme aşamasındadır ve özellik bayrağı gerektirir CustomNodeConfigPreview . |
hardEvictionThreshold.nodeFsInodesFree |
<number> veya <number>% yüzde değeri 100'den fazla değilse |
Hiçbiri | Linux düğüm havuzlarında düğüm dosya sistemindeki boş inode’lar için kubelet’in katı tahliye eşiğini ayarlar. Bu parametre önizleme aşamasındadır ve özellik bayrağı gerektirir CustomNodeConfigPreview . |
Windows kubelet özel yapılandırması
| Parameter | İzin verilen değerler/aralık | Varsayılan | Description |
|---|---|---|---|
imageGcHighThreshold |
0-100 | 85 | Belirli bir disk kullanımı yüzdesine ulaşıldığında görüntü çöp toplama işleminin her zaman çalıştırıldığı yüzdelik dilim. Çöp toplamayı tetikleyen minimum disk kullanımı. Görüntü çöp toplamayı devre dışı bırakmak için 100 olarak ayarlayın. |
imageGcLowThreshold |
0-100, en fazla imageGcHighThreshold |
80 | Disk kullanım yüzdesinin belirli bir seviyenin altında olduğu durumlarda, görüntü atık toplama işlemi çalıştırılmaz. Çöp toplamayı tetikleyebilen en düşük disk kullanımı. |
containerLogMaxSizeMB |
Megabayt cinsinden boyut (MB) | 10 | Bir kapsayıcı günlük dosyasının döndürülmeden önceki en büyük boyutu (örneğin, 10 MB). |
containerLogMaxFiles |
2 veya daha büyük | 5 | Kapsayıcı için tutulacak en fazla kapsayıcı günlüğü dosyası sayısı. |
Linux özel işletim sistemi yapılandırma parametreleri
Important
Arama ve okunabilirliği basitleştirmek için, işletim sistemi ayarları bu makalede adıyla görüntülenir, ancak bunlar camelCase büyük harfe çevirme kuralı kullanılarak yapılandırma JSON dosyasına veya AKS API'sine eklenmelidir.
Örneğin, ayarı değiştirirseniz vm.max_map_count yapılandırma JSON dosyasında olarak yeniden biçimlendirmeniz vmMaxMapCount gerekir.
Linux dosya tanıtıcısı sınırları
Yüksek miktarda trafiğe hizmet ederken, bu trafik genellikle çok sayıda yerel dosyadan gelir. Aşağıdaki çekirdek ayarlarını ve yerleşik sınırları, biraz sistem belleği pahasına daha fazlasını işleyebilmenizi sağlayacak şekilde ayarlayabilirsiniz.
Aşağıdaki tabloda, düğüm havuzu başına özelleştirebileceğiniz dosya tanıtıcısı sınırları listelenir:
| Setting | İzin verilen değerler/aralık | Ubuntu 22.04 varsayılan | Ubuntu 24.04 varsayılan | Azure Linux 3.0 varsayılanı | Description |
|---|---|---|---|---|---|
fs.file-max |
8192 - 9223372036854775807 | 9223372036854775807 | 9223372036854775807 | 9223372036854775807 | Linux çekirdeğinin ayırmış olduğu en fazla dosya işleyicisi sayısı. Bu değer, dosya tanımlayıcısının tükenmesini önlemek ve kapsayıcılı iş yükleri için sistem genelinde sınırsız dosya tutamaçları sağlamak için mümkün olan en yüksek değere (2^63-1) ayarlanır. |
fs.inotify.max_user_watches |
781250 - 2097152 | 1048576 | 1048576 | 1048576 | Sistem tarafından izin verilen en fazla dosya izleme sayısı. Her saat , 32 bit çekirdekte kabaca 90 bayt, 64 bit çekirdekte ise kabaca 160 bayttır. |
fs.aio-max-nr |
65536 - 6553500 | 65536 | 65536 | 65536 | aio-nr, sistem genelinde zaman uyumsuz G/Ç isteklerinin geçerli sayısını gösterir. aio-max-nr, aio-nr değerinin büyüyebileceği maksimum değeri değiştirmenize olanak tanır. |
fs.nr_open |
8192 - 20000500 | 1048576 | 1048576 | 1073741816 | Bir işlemin ayırabileceği en fazla dosya işleyicisi sayısı. |
Uyarı
Parametresi Ubuntu fs.file-max ve Azure Linux'ta yukarı akış varsayılanlarına göre 9223372036854775807 (imzalı 64 bit tamsayı için en yüksek değer) olarak ayarlanır. Bu yapılandırma:
- Sistem genelinde dosya tanımlayıcısı tükenmesine bağlı olarak hizmet reddi saldırılarını önler.
- Kapsayıcı iş yüklerinin sistem genelindeki dosya tanıtıcı sınırları tarafından kısıtlanmamasını sağlar.
- Tek tek işlemler için geçerli olan işlem başına sınırlar ( ve
fs.nr_open) aracılığıylaulimit. - Birçok kapsayıcının aynı anda çalışabileceği ve her birinin birden çok dosya ve ağ bağlantısı açabileceği kapsayıcı platformları için iyileştirir.
Linux yuvası ve ağ ayarlama
Çok sayıda eşzamanlı oturumu işlemesi beklenen aracı düğümleri için aşağıdaki TCP ve ağ seçeneklerini kullanabilir ve düğüm havuzu başına bunları ayarlayabilirsiniz:
| Setting | İzin verilen değerler/aralık | Ubuntu 22.04 varsayılan | Ubuntu 24.04 varsayılan | Azure Linux 3.0 varsayılanı | Description |
|---|---|---|---|---|---|
net.core.somaxconn |
4096 - 3240000 | 16384 | 16384 | 16384 | Herhangi bir dinleme yuvası için kuyruğa alınabilecek en fazla bağlantı isteği sayısı. listen(2) işlevine geçirilen birikim parametresinin değeri için üst sınır. Kuyruk bağımsız değişkeni somaxconn değerinden büyükse, bu sınırda sessizce kesilerek sınırlanır. |
net.core.netdev_max_backlog |
1000 - 3240000 | 1000 | 1000 | 1000 | Arabirim, paketleri çekirdeğin işleyebileceğinden daha hızlı aldığında INPUT tarafında kuyruğa alınan maksimum paket sayısı. |
net.core.rmem_max |
212992 - 134217728 | 1048576 | 1048576 | 212992 | Bayt cinsinden maksimum alma soketi arabellek boyutu. |
net.core.wmem_max |
212992 - 134217728 | 212992 | 212992 | 212992 | Bayt cinsinden en büyük gönderme soketi arabellek boyutu. |
net.core.optmem_max |
20480 - 4194304 | 20480 | 131072 | 20480 | Soket başına izin verilen maksimum yardımcı tampon boyutu (opsiyon bellek tamponu). Yuva seçeneği belleği, yuva kullanımıyla ilgili ek yapıları depolamak için birkaç durumda kullanılır. |
net.ipv4.tcp_max_syn_backlog |
128 - 3240000 | 16384 | 16384 | 16384 | Kuyrukta bekleyen ve bağlantı istemcisinden onay almamış en fazla bağlantı isteği sayısı. Bu sayı aşılırsa çekirdek istekleri reddetmeye başlar. |
net.ipv4.tcp_max_tw_buckets |
8000 - 1440000 | 262144 | 262144 | 131072 | Sistem tarafından aynı anda tutulan en fazla yuva sayısı TIME-WAIT . Bu sayı aşılırsa, bekleme süresi yuvası hemen yok edilir ve uyarı yazdırılır. |
net.ipv4.tcp_fin_timeout |
5 - 120 | 60 | 60 | 60 | Yalnız bırakılmış bir bağlantının (artık herhangi bir uygulama tarafından başvurulmamaktadır) yerel uçta durdurulmadan önce FIN_WAIT_2 durumunda kalma süresi. |
net.ipv4.tcp_keepalive_time |
30 - 432000 | 7200 | 7200 | 7200 | Etkinleştirildiğinde, TCP'nin keepalive mesajlarını ne sıklıkta gönderdiği. |
net.ipv4.tcp_keepalive_probes |
1 - 15 | 9 | 9 | 9 | TCP'nin bağlantının kesildiğine karar verene kadar gönderdiği yoklama sayısı kaçtır? |
net.ipv4.tcp_keepalive_intvl |
10 - 90 | 75 | 75 | 75 | Yoklamaların ne sıklıkta gönderildiği. Yukarıdaki değerle çarpılması, yoklamalar başlatıldıktan sonra yanıt vermeyen bir bağlantıyı sonlandırma süresini oluşturur. |
net.ipv4.tcp_tw_reuse |
2 | 2 | 2 | Bir protokol bakış açısından güvenli olduğunda yeni bağlantılar için yuvaların yeniden kullanılmasına TIME-WAIT izin verir. |
|
net.ipv4.ip_local_port_range |
İlk: 1024 - 60999 ve Son: 32768 - 65535] | İlk: 32768 ve Son: 60999 | İlk: 32768 ve Son: 60999 | İlk: 32768 ve Son: 60999 | Tcp ve UDP trafiği tarafından yerel bağlantı noktasını seçmek için kullanılan yerel bağlantı noktası aralığı. Aralık iki sayıdan oluşur: aracı düğümünde TCP ve UDP trafiği için izin verilen ilk yerel bağlantı noktası ve son yerel bağlantı noktası numarası. |
net.ipv4.neigh.default.gc_thresh1 |
128 - 80000 | 4096 | 4096 | 4096 | ARP önbelleğinde olabilecek en az girdi sayısı. Girdi sayısı bu ayarın altındaysa çöp toplama tetiklenmemiştir. |
net.ipv4.neigh.default.gc_thresh2 |
512 - 90000 | 8192 | 8192 | 8192 | ARP önbelleğinde bulunabilecek yumuşak maksimum girdi sayısı. ARP atık toplama işlemi bu yumuşak maksimuma ulaştıktan yaklaşık 5 saniye sonra tetiklendiğinden bu ayar muhtemelen en önemli ayardır. |
net.ipv4.neigh.default.gc_thresh3 |
1024 - 100000 | 16384 | 16384 | 16384 | ARP önbelleğindeki sabit en fazla girdi sayısı. |
net.netfilter.nf_conntrack_max |
131072 - 2097152 | Dinamik olarak hesaplanır | Dinamik olarak hesaplanır | Dinamik olarak hesaplanır |
nf_conntrack , Linux içindeki NAT için bağlantı girdilerini izleyen bir modüldür. Modül, nf_conntrack TCP protokolünün kurulan bağlantı kaydını kaydetmek için bir karma tablo kullanır.
nf_conntrack_max karma tablosundaki düğüm sayısı üst sınırıdır; yani modül tarafından nf_conntrack desteklenen bağlantı sayısı üst sınırı veya bağlantı izleme tablosunun boyutudur.
Varsayılan değer , şu formül kullanılarak sistem belleğine göre dinamik olarak hesaplanır: RAM_in_bytes / 16384 (veya RAM_in_MB * 64). Örneğin, 8 GB RAM'e sahip bir sanal makinenin varsayılan değeri yaklaşık 524.288 bağlantıdır. Gerçek değerler sanal makine boyutuna ve kullanılabilir belleğe göre değişir. |
net.netfilter.nf_conntrack_buckets |
65536 - 524288 | Dinamik olarak hesaplanır | Dinamik olarak hesaplanır | Dinamik olarak hesaplanır |
nf_conntrack , Linux içindeki NAT için bağlantı girdilerini izleyen bir modüldür. Modül, nf_conntrack TCP protokolünün kurulan bağlantı kaydını kaydetmek için bir karma tablo kullanır.
nf_conntrack_buckets karma tablosunun boyutudur.
Varsayılan değer , en az 1.024 demet ve en fazla 262.144 demet içeren şu formül RAM_in_bytes / 16384kullanılarak sistem belleğine göre dinamik olarak hesaplanır. Varsayılan nf_conntrack_max genellikle olarak nf_conntrack_buckets * 4ayarlanır. Gerçek değerler sanal makine boyutuna ve kullanılabilir belleğe göre değişir. |
Linux çalışan sınırları
Dosya tanımlayıcı sınırları gibi, bir işlemin oluşturabileceği çalışan veya iş parçacığı sayısı da hem çekirdek ayarı hem de kullanıcı sınırlarıyla sınırlıdır. AKS'de kullanıcı sınırı sınırsızdır. Aşağıdaki tabloda düğüm havuzu başına özelleştirebileceğiniz çekirdek ayarı listelenir:
| Setting | Ubuntu 22.04 varsayılan | Ubuntu 24.04 varsayılan | Azure Linux 3.0 varsayılanı | Description |
|---|---|---|---|---|
kernel.threads-max |
Dinamik olarak hesaplanır | Dinamik olarak hesaplanır | Dinamik olarak hesaplanır | İşlemler çalışan iş parçacıklarını oluşturabilir. Oluşturulabilecek tüm iş parçacıklarının en fazla sayısı çekirdek ayarıyla kernel.threads-maxayarlanır.
Varsayılan değer, şu formül kullanılarak sistem belleğine göre dinamik olarak hesaplanır: total_ram_pages / 4 (her sayfa genellikle 4 KB'tır). Gerçek değerler sanal makine boyutuna ve kullanılabilir belleğe göre değişir. |
Linux sanal belleği
Aşağıdaki tabloda, Linux çekirdeğinin sanal bellek (VM) alt sisteminin ve kirli verilerin diske çalışmasını ayarlamak için düğüm havuzu başına özelleştirebileceğiniz çekirdek writeout ayarları listelenir:
| Setting | İzin verilen değerler/aralık | Ubuntu 22.04 varsayılan | Ubuntu 24.04 varsayılan | Azure Linux 3.0 varsayılanı | Description |
|---|---|---|---|---|---|
vm.max_map_count |
65530 | 1048576 | 1048576 | Bu dosya, bir işlemin sahip olabileceği en fazla bellek eşleme alanı sayısını içerir. Bellek haritalama alanları, malloc, doğrudan mmap, mprotect ve madvise tarafından çağrılmasının yan etkisi olarak ve ayrıca paylaşılan kütüphaneleri yüklerken kullanılır. |
|
vm.vfs_cache_pressure |
1 - 100 | 100 | 100 | 100 | Bu yüzde değeri, çekirdeğin dizini ve inode nesnelerini önbelleğe almak için kullanılan belleği geri kazanma eğilimini denetler. |
vm.swappiness |
0 - 100 | 60 | 60 | 60 | Bu denetim, çekirdeğin bellek sayfalarını ne kadar agresif bir şekilde değiştireceklerini tanımlamak için kullanılır. Daha yüksek değerler agresifliği artırır, daha düşük değerler takas miktarını azaltır. 0 değeri, boş ve dosya destekli sayfa miktarı bir bölgedeki yüksek su işaretinden az olana kadar çekirdeğin değiştirme işlemini başlatmamasını bildirir. |
swapFileSizeMB |
1 MB - Geçici diskin boyutu (/dev/sdb) | Hiçbiri | Hiçbiri | Hiçbiri | SwapFileSizeMB, bu düğüm havuzundan aracı düğümlerinde oluşturulacak takas dosyasının MB cinsinden boyutunu belirtir. |
transparentHugePageEnabled |
always, madvise, never |
always |
always |
madvise |
Transparent Hugepages , işlemcinizin bellek eşleme donanımını daha verimli bir şekilde kullanarak performansı geliştirmeye yönelik bir Linux çekirdek özelliğidir. Etkinleştirildiğinde, çekirdek mümkün olduğunda hugepages ayırmaya çalışır ve eğer mmap bölgesi doğal olarak 2 MB hizalanmışsa, herhangi bir Linux işlemi 2 MB sayfa alır. Sistem genelinde etkinleştirildiğinde hugepages bazı durumlarda uygulamalar daha fazla bellek kaynağı ayırabilir. Bir uygulama büyük bir bölge olabilir mmap , ancak bunun yalnızca 1 bayt'ını dokunabilir, bu durumda iyi bir neden olmadan 4k sayfa yerine 2 MB'lık bir sayfa tahsis edilebilir. Bu senaryoda, hugepages sistem genelinde devre dışı bırakmanın veya yalnızca MADV_HUGEPAGE madvise bölgelerinin içinde olmasının mümkün olmasının nedeni budur. |
transparentHugePageDefrag |
always, defer, defer+madvise, madvise, , never |
madvise |
madvise |
madvise |
Bu değer, çekirdeğin daha fazla hugepages kullanılabilir hale getirmek için bellek sıkıştırmasını agresif bir şekilde kullanıp kullanmayacağını denetler. |