av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)kubernetes教程:Kubernetes進程ID約束與預(yù)留

進程 ID 約束與預(yù)留

FEATURE STATE: Kubernetes v1.20 [stable]

Kubernetes 允許你限制一個 Pod 中可以使用的 進程 ID(PID)數(shù)目。你也可以為每個 節(jié)點 預(yù)留一定數(shù)量的可分配的 PID,供操作系統(tǒng)和守護進程(而非 Pod)使用。

進程 ID(PID)是節(jié)點上的一種基礎(chǔ)資源。很容易就會在尚未超出其它資源約束的時候就 已經(jīng)觸及任務(wù)個數(shù)上限,進而導(dǎo)致宿主機器不穩(wěn)定。

集群管理員需要一定的機制來確保集群中運行的 Pod 不會導(dǎo)致 PID 資源枯竭,甚而 造成宿主機上的守護進程(例如 kubelet 或者 kube-proxy 乃至包括容器運行時本身)無法正常運行。 此外,確保 Pod 中 PID 的個數(shù)受限對于保證其不會影響到同一節(jié)點上其它負(fù)載也很重要。

Note:

在某些 Linux 安裝環(huán)境中,操作系統(tǒng)會將 PID 約束設(shè)置為一個較低的默認(rèn)值,例如 ?
32768?。這時可以考慮提升 ?
/proc/sys/kernel/pid_max? 的設(shè)置值。

你可以配置 kubelet 限制給定 Pod 能夠使用的 PID 個數(shù)。 例如,如果你的節(jié)點上的宿主操作系統(tǒng)被設(shè)置為最多可使用 ?262144 ?個 PID,同時預(yù)期 節(jié)點上會運行的 Pod 個數(shù)不會超過 ?250?,那么你可以為每個 Pod 設(shè)置 ?1000 ?個 PID 的預(yù)算,避免耗盡該節(jié)點上可用 PID 的總量。 如果管理員系統(tǒng)像 CPU 或內(nèi)存那樣允許對 PID 進行過量分配(Overcommit),他們也可以 這樣做,只是會有一些額外的風(fēng)險。不管怎樣,任何一個 Pod 都不可以將整個機器的運行 狀態(tài)破壞。這類資源限制有助于避免簡單的派生炸彈(Fork Bomb)影響到整個集群的運行。

在 Pod 級別設(shè)置 PID 限制使得管理員能夠保護 Pod 之間不會互相傷害,不過無法 確保所有調(diào)度到該宿主機器上的所有 Pod 都不會影響到節(jié)點整體。 Pod 級別的限制也無法保護節(jié)點代理任務(wù)自身不會受到 PID 耗盡的影響。

你也可以預(yù)留一定量的 PID,作為節(jié)點的額外開銷,與分配給 Pod 的 PID 集合獨立。 這有點類似于在給操作系統(tǒng)和其它設(shè)施預(yù)留 CPU、內(nèi)存或其它資源時所做的操作, 這些任務(wù)都在 Pod 及其所包含的容器之外運行。

PID 限制是與計算資源 請求和限制相輔相成的一種機制。不過,你需要用一種不同的方式來設(shè)置這一限制: 你需要將其設(shè)置到 kubelet 上而不是在 Pod 的 ?.spec? 中為 Pod 設(shè)置資源限制。 目前還不支持在 Pod 級別設(shè)置 PID 限制。

Caution:

這意味著,施加在 Pod 之上的限制值可能因為 Pod 運行所在的節(jié)點不同而有差別。 為了簡化系統(tǒng),最簡單的方法是為所有節(jié)點設(shè)置相同的 PID 資源限制和預(yù)留值。

節(jié)點級別 PID 限制 

Kubernetes 允許你為系統(tǒng)預(yù)留一定量的進程 ID。為了配置預(yù)留數(shù)量,你可以使用 kubelet 的 ?--system-reserved? 和 ?--kube-reserved? 命令行選項中的參數(shù) ?pid=?。你所設(shè)置的參數(shù)值分別用來聲明為整個系統(tǒng)和 Kubernetes 系統(tǒng) 守護進程所保留的進程 ID 數(shù)目。

Note:

在 Kubernetes 1.20 版本之前,在節(jié)點級別通過 PID 資源限制預(yù)留 PID 的能力 需要啟用特性門控 ?
SupportNodePidsLimit ?才行。

Pod 級別 PID 限制 

Kubernetes 允許你限制 Pod 中運行的進程個數(shù)。你可以在節(jié)點級別設(shè)置這一限制, 而不是為特定的 Pod 來將其設(shè)置為資源限制。 每個節(jié)點都可以有不同的 PID 限制設(shè)置。 要設(shè)置限制值,你可以設(shè)置 kubelet 的命令行參數(shù) ?--pod-max-pids?,或者 在 kubelet 的配置文件 中設(shè)置 ?PodPidsLimit?。

Note:

在 Kubernetes 1.20 版本之前,為 Pod 設(shè)置 PID 資源限制的能力需要啟用 特性門控 ?
SupportNodePidsLimit ?才行。

基于 PID 的驅(qū)逐 

你可以配置 kubelet 使之在 Pod 行為不正常或者消耗不正常數(shù)量資源的時候?qū)⑵浣K止。 這一特性稱作驅(qū)逐。你可以針對不同的驅(qū)逐信號 配置資源不足的處理。 使用 ?pid.available? 驅(qū)逐信號來配置 Pod 使用的 PID 個數(shù)的閾值。 你可以設(shè)置硬性的和軟性的驅(qū)逐策略。不過,即使使用硬性的驅(qū)逐策略, 如果 PID 個數(shù)增長過快,節(jié)點仍然可能因為觸及節(jié)點 PID 限制而進入一種不穩(wěn)定狀態(tài)。 驅(qū)逐信號的取值是周期性計算的,而不是一直能夠強制實施約束。

Pod 級別和節(jié)點級別的 PID 限制會設(shè)置硬性限制。 一旦觸及限制值,工作負(fù)載會在嘗試獲得新的 PID 時開始遇到問題。 這可能會也可能不會導(dǎo)致 Pod 被重新調(diào)度,取決于工作負(fù)載如何應(yīng)對這類失敗 以及 Pod 的存活性和就緒態(tài)探測是如何配置的。 可是,如果限制值被正確設(shè)置,你可以確保其它 Pod 負(fù)載和系統(tǒng)進程不會因為某個 Pod 行為不正常而沒有 PID 可用。


網(wǎng)頁題目:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes進程ID約束與預(yù)留
本文鏈接:http://uogjgqi.cn/article/djohosc.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流