一、卷數(shù)限制
不同的云供應商通常對可以關聯(lián)到一個節(jié)點的卷數(shù)量進行限制,這些限制是由云供應商實施的,并且Kubernetes必須遵守這些限制。如果超過了云供應商的限制,可能會導致Pod調(diào)度失敗或卡住等待卷的關聯(lián)。
例如谷歌、亞馬遜和微軟等云供應商在其文檔中提供了有關節(jié)點上可以關聯(lián)的卷數(shù)量的信息。因此,如果您在節(jié)點上使用多個卷,并且嘗試將更多的卷關聯(lián)到節(jié)點上,而這超過了云供應商的限制,可能會導致Pod無法成功調(diào)度或卡住等待卷的關聯(lián)。
為了避免這種情況,建議在創(chuàng)建和調(diào)度Pod時始終檢查云供應商的文檔,了解節(jié)點上可以關聯(lián)的卷數(shù)量限制,并確保在這些限制范圍內(nèi)操作。這樣可以確保Pod能夠成功調(diào)度并與所需的卷關聯(lián)。
二、Kubernetes默認限制
Kubernetes 調(diào)度器對關聯(lián)于一個節(jié)點的卷數(shù)有默認限制:
三、自定義限制
可以使用環(huán)境變量KUBE_MAX_PD_VOLS來自定義整個集群中節(jié)點上可以關聯(lián)的卷數(shù)量限制。這個環(huán)境變量需要在調(diào)度器啟動時進行設置。請注意,如果您將這個環(huán)境變量設置得太高,可能會對系統(tǒng)性能產(chǎn)生負面影響。因此,請謹慎調(diào)整這個限制并確保它不超過云供應商的默認限制。此限制是應用于整個集群的,這意味著這個設置將會影響到所有節(jié)點
四、動態(tài)卷限制
以下卷類型支持動態(tài)卷限制。
1、Amazon EBS
2、Google Persistent Disk
3、Azure Disk
4、CSI
對于由內(nèi)建插件管理的卷,Kubernetes會根據(jù)不同的云服務提供商和節(jié)點類型自動確定可以在節(jié)點上關聯(lián)的卷數(shù)量。以下是一些示例:
- 在Google Compute Engine環(huán)境中,在根據(jù)節(jié)點類型的限制下,最多可以將127個卷關聯(lián)到節(jié)點。
- 對于Amazon Elastic Compute Cloud (EC2)環(huán)境中的M5、C5、R5、T3和Z1D類型實例的Amazon EBS磁盤,Kubernetes僅允許將25個卷關聯(lián)到節(jié)點。對于其他實例類型,Kubernetes允許將39個卷關聯(lián)到節(jié)點。
- 在Azure環(huán)境中,根據(jù)節(jié)點類型,最多可以將64個磁盤關聯(lián)到一個節(jié)點。
- 如果使用CSI(Container Storage Interface)存儲驅(qū)動程序,并且該驅(qū)動程序通過NodeGetInfo報告了卷數(shù)量上限,那么kube-scheduler將遵守該限制值。
- 對于由已遷移到CSI驅(qū)動程序的內(nèi)建插件管理的卷,最大卷數(shù)將取決于CSI驅(qū)動程序報告的卷數(shù)。