當Linux系統的OS參數默認配置無法滿足業務需求,您希望對集群節點進行個性化調整時,您可以在節點池維度自定義節點的OS參數配置,以調優系統性能。自定義OS參數后,系統將按批次變更節點配置。節點池中已有節點將即時生效,新增節點也會使用新配置。
使用限制
僅1.28及以上版本的ACK集群支持自定義節點池OS參數。具體操作,請參見創建ACK托管集群、創建、創建ACK Edge集群。如需升級集群,請參見手動升級集群。
注意事項
動態修改OS節點配置有可能會造成節點上已存在的Pod發生配置變更,從而觸發Pod重建。請在使用前確保應用的高可用。
不恰當的OS參數調整會改變Linux內核的運作方式,可能導致節點性能惡化或不可用,從而對業務產生影響。請在修改前深入了解待修改參數的作用,并在生產環境操作前進行充分測試。
請勿自行修改控制臺不支持自定義的OS參數,避免因配置錯誤導致的節點不可用或手動修改內容被覆蓋。例如,通過黑屏操作手動修改/etc/sysctl.d/99-k8s.conf中的內容,會導致集群執行運維操作(例如集群升級、自定義參數修改等)時覆蓋已修改的配置。
支持通過控制臺自定義的sysctl參數
字段名稱 | 說明 | 默認值 | 推薦取值范圍 |
fs.aio-max-nr | 異步I/O操作的最大數量。 | 65536 | [65536, 6553500] |
fs.file-max | 系統級別能夠打開的最大文件句柄數。 | 2097152 | [8192, 12000500] |
fs.inotify.max_user_watches | 單用戶能夠創建的inotify監視的最大數量。 | 524288 | [524288, 2097152] |
fs.nr_open | 每個進程能夠打開的文件描述符數的最大數量。 | 1048576 | [1000000, 20000500] (此值應小于fs.file-max的取值) |
kernel.pid_max | 系統可分配的最大PID數量。 | 4194303 | 大于1048575 |
kernel.threads-max | 系統可創建的最大線程數量。 | 504581 | 大于500000 |
net.core.netdev_max_backlog | 接口接收數據包的速度快于內核的處理速度時,可以在INPUT端排隊的數據包的最大數量。 | 16384 | [1000, 3240000] |
net.core.optmem_max | 每個網絡套接字允許的最大輔助緩沖區(Ancillary Buffer)大小,以字節為單位。 | 20480 | [20480, 4194304] |
net.core.rmem_max | 每個網絡套接字接收緩沖區的最大大小,以字節為單位。 | 16777216 | [212992, 134217728] |
net.core.wmem_max | 每個網絡套接字發送緩沖區的最大大小,以字節為單位。 | 16777216 | [212992, 134217728] |
net.core.wmem_default | 每個網絡套接字發送緩沖區的默認大小,以字節為單位。 | 212992 | 大于等于212992 |
net.ipv4.tcp_mem | TCP棧可以使用的內存量,以內存頁(大小通常為4KB)為單位。該參數由三個整數值組成,分別表示低水位、壓力水位和最高水位,必須嚴格按照順序設置。 | 根據系統總內存動態計算 | 三個參數逐漸增大,且最小值為80000以上 |
net.ipv4.neigh.default.gc_thresh1 | 控制ARP緩存的垃圾收集。 | 128 | [128, 80000] |
net.ipv4.neigh.default.gc_thresh2 | 1024 | [512, 90000] | |
net.ipv4.neigh.default.gc_thresh3 | 8192 | [1024, 100000] |
支持通過控制臺自定義的Transparent Hugepage參數
透明大頁THP(Transparent Huge Pages)是Linux內核中的一個通用特性,可以自動將小頁面(通常為4 KB)合并成大頁面(通常為2 MB或更大),以減少內存訪問頁表項PTE(Page Table Entries)大小和訪問次數,同時減輕了TLB(Translation Lookaside Buffer)緩存的壓力,提高內存訪問的效率。
目前處于灰度發布中。如需使用,請提交工單申請。
下表中的默認值為在Alibaba Cloud Linux 2的4.19.91-18及之后的內核版本中系統默認值。
字段名稱 | 說明 | 默認值 | 可取值 |
transparent_enabled | 是否在系統全局開啟 THP功能。 | always |
|
transparent_defrag | 是否開啟透明大頁THP相關的碎片整理配置。啟用后,如果內存中的小頁能夠被合并成一個大頁,可以減少頁表的大小并提高系統的性能。 | madvise |
|
khugepaged_defrag |
由于該操作會在內存路徑中執行鎖定操作,且 | 1 |
|
khugepaged_alloc_sleep_millisecs | 當透明大頁THP分配失敗時, | 60000,即默認等待60秒 | |
khugepaged_scan_sleep_millisecs |
| 10000,即默認每10秒喚醒一次 | |
khugepaged_pages_to_scan |
| 4096 |
通過控制臺自定義節點池OS參數
自定義OS參數后,系統將按批次變更節點配置。節點池中已有節點將即時生效,新增節點也會使用新配置。自定義OS參數生效時會改變已有節點的OS參數配置,可能會對業務產生一定影響。請在業務低峰期操作。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在節點池列表的操作列,單擊目標節點池對應的更多>OS 配置。
仔細閱讀當前頁面上的注意事項,單擊+ 自定義參數選擇需要配置的參數,設置每批次的最大并行數(最大為10),然后單擊提交,按照頁面指引完成操作。
配置每批次的最大并行數后,OS配置將按批次對節點生效。執行過程中,您可以在事件列表區域查看進度,并控制執行過程(暫停、繼續、取消等)。您可以使用暫停功能對已升級的節點進行驗證。暫停時,正在配置的節點會繼續完成執行;未執行的節點在任務繼續前不會被執行自定義配置。
重要請盡快完成自定義配置任務。處于暫停狀態的任務將在7天后自動取消,相關的事件和日志信息也會被清理。