策略
Kubernetes 策略是管理其他配置或執行時行為的配置。Kubernetes 提供了各種形式的策略,如下所述:
使用 API 物件應用策略
一些 API 物件充當策略。以下是一些示例:
- NetworkPolicies 可用於限制工作負載的入口和出口流量。
- LimitRanges 管理不同物件種類之間的資源分配約束。
- ResourceQuotas 限制了 namespace 的資源消耗。
使用准入控制器應用策略
准入控制器 在 API 伺服器中執行,可以驗證或修改 API 請求。一些准入控制器用於應用策略。例如,AlwaysPullImages 准入控制器會修改新的 Pod 以將映象拉取策略設定為 Always
。
Kubernetes 有幾個內建的准入控制器,可以透過 API 伺服器的 --enable-admission-plugins
標誌進行配置。
有關准入控制器的詳細資訊,以及可用准入控制器的完整列表,請參閱專門章節。
使用 ValidatingAdmissionPolicy 應用策略
Validating admission policies 允許在 API 伺服器中使用通用表示式語言 (CEL) 執行可配置的驗證檢查。例如,ValidatingAdmissionPolicy
可用於禁止使用 latest
映象標籤。
ValidatingAdmissionPolicy
對 API 請求進行操作,可用於阻止、審計和警告使用者不合規的配置。
有關 ValidatingAdmissionPolicy
API 的詳細資訊和示例,請參閱專門章節。
使用動態准入控制應用策略
動態准入控制器(或准入 Webhook)作為獨立應用程式在 API 伺服器外部執行,它們註冊以接收 Webhook 請求,從而對 API 請求執行驗證或修改。
動態准入控制器可用於對 API 請求應用策略並觸發其他基於策略的工作流。動態准入控制器可以執行復雜的檢查,包括那些需要檢索其他叢集資源和外部資料的檢查。例如,映象驗證檢查可以從 OCI 登錄檔中查詢資料以驗證容器映象簽名和證明。
有關動態准入控制的詳細資訊,請參閱專門章節。
實現
Kubernetes 生態系統中正在開發作為靈活策略引擎的動態准入控制器,例如:
使用 Kubelet 配置應用策略
Kubernetes 允許配置每個工作節點上的 Kubelet。一些 Kubelet 配置充當策略:
- 程序 ID 限制和預留 用於限制和預留可分配的 PID。
- 節點資源管理器 可以管理延遲敏感型和高吞吐量工作負載的計算、記憶體和裝置資源。
本頁面上的專案提及了提供 Kubernetes 所需功能的第三方產品或專案。Kubernetes 專案作者對這些第三方產品或專案不負責。有關更多詳細資訊,請參閱 CNCF 網站指南。
在提議新增額外第三方連結的更改之前,你應該閱讀內容指南。