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