通過設定節點標籤和nodeSelector策略,您可以將應用調度到指定節點上。
前提條件
步驟一:設定節點標籤
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集管理頁左側導覽列,選擇 。
在頁面右上方單擊標籤與汙點管理,進入標籤與汙點管理頁面。
在標籤頁簽中,選擇目標節點,然後單擊左下角的添加標籤。
在彈出的添加對話方塊中,輸入標籤的名稱和值,然後單擊確定。
名稱:標籤名稱由字母、數字、短劃線(-)、底線(_)、小數點(.)組成,且必須以字母或者數字開頭和結尾。本文樣本為pod。
值:標籤值可以為空白字串或由字母、數字、短劃線(-)、底線(_)、小數點(.)組成,且必須以字母或者數字開頭和結尾。本文樣本為nginx。
步驟二:調度應用到指定節點
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集管理頁左側導覽列,選擇 。
單擊目標應用操作列的查看Yaml,為應用設定nodeSelector。本文以名稱為nginx-deployment-basic的無狀態工作負載為例進行說明。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment-basic labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: nodeSelector: pod: nginx #添加節點的標籤,以保證您的應用只可以運行在目標節點上。請使用實際值。 containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
單擊更新,會提示部署狀態資訊。
結果驗證
單擊應用程式名稱,進入應用詳情頁面,查看容器組頁簽。目標應用Pod全部被調度到了xxx.xxx.33.88的節點上,這個節點正是本文樣本中在節點中打了標籤(pod: nginx)的節點。
相關文檔
如果您想瞭解更多關於
nodeSelector
的資訊,請參見Assigning Pods to Nodes。您可以在應用發布或擴容過程中,自訂資源策略(ResourcePolicy),設定應用被調度到不同類型節點資源的順序。同時,在縮容過程中按照原調度順序逆序縮容。詳細資料,請參見自訂彈性資源優先順序調度。