設定 Kubernetes API 優先順序和公平性
您的 IBM Cloud Kubernetes Service 叢集已預設配置,可處理發送至 API 伺服器的同時請求,並防止流量過載。 您可以針對對叢集的 API 伺服器所提出的要求,配置您自己的流程綱目及優先順序層次。 如需更多資訊,請參閱《 Kubernetes 》文件中的「API 優先級與公平性」章節。
例如,您可能有一個在正式作業中執行重要應用程式的使用者或名稱空間。 您可以建立流程綱目及優先順序,讓重要應用程式具有比叢集中其他應用程式更高的優先順序,讓 API 伺服器滿足其要求。
檢閱預設流程綱目及優先順序層次
IBM Cloud Kubernetes Service 除了 Kubernetes 中的預設設定外,還會設定某些預設的流程架構和優先級。
| 流程綱目 | 要求來自的資源 | 優先順序層次 |
|---|---|---|
apiserver-health |
Kubernetes API 伺服器性能資源 | 這些資源的 自訂優先順序層次。 |
calico-apiserver-service-accounts |
calico-apiserver 名稱空間中使用名稱空間中服務帳戶的資源 |
與 kube-system 名稱空間服務帳戶的優先順序相同。 此架構適用於 IBM Cloud Kubernetes Service 的 1.31 及後續版本。 |
calico-system-service-accounts |
calico-system 名稱空間中使用名稱空間中服務帳戶的資源 |
與 kube-system 名稱空間服務帳戶的優先順序相同。 此架構適用於 IBM Cloud Kubernetes Service 的 1.29 及後續版本。 |
ibm-admin |
來自 IBM 叢集管理者的資源 | 群集管理員的請求不受優先順序限制。 |
ibm-system-service-accounts |
ibm-system 名稱空間中使用名稱空間中服務帳戶的資源 |
與 kube-system 名稱空間服務帳戶相同的優先順序 |
ibm-operators-service-accounts |
ibm-operators 名稱空間中使用名稱空間中服務帳戶的資源 |
與 kube-system 名稱空間服務帳戶的優先順序相同。 |
system-node-proxiers |
kube-proxy |
與 kubelet 相同的優先順序 |
tigera-operator-service-accounts |
tigera-operator 名稱空間中使用名稱空間中服務帳戶的資源 |
與 kube-system 名稱空間服務帳戶的優先順序相同。 此架構適用於 IBM Cloud Kubernetes Service 的 1.29 及後續版本。 |
您可以建立自己的流程綱目及優先順序,但不要修改預設值。 當您修改 API 要求優先順序時,叢集中可能會發生非預期的結果。
請遵循步驟來檢閱 IBM Cloud Kubernetes Service所設定的流程綱目及優先順序層次。
- 列出叢集中的所有流程架構(包括由 IBM Cloud Kubernetes Service 設定的架構)及其對應的優先級。
kubectl get flowschemas - 檢閱特定流程綱目的詳細資料,包括哪些資源可以進行已設定優先順序的 API 要求、可以進行何種類型的 API 要求,以及要求可以修改哪些物件。
kubectl describe flowschema <flow-schema-name>
檢視 IBM Cloud Kubernetes Service 已建立優先順序層次配置
IBM Cloud Kubernetes Service 為 apiserver-health 資源設定自訂的優先級層級配置。
請使用下列指令來檢視配置的詳細資料。
kubectl get prioritylevelconfiguration apiserver-health
kubectl describe prioritylevelconfiguration apiserver-health