調度設定限制哪些伺服器可以承載應用程式,以及每台伺服器最多執行多少副本。應用程式操作者需要 Operator 或 Admin;修改伺服器標籤需要 Admin。
使用標籤選擇伺服器
- 由管理員在目標伺服器上設定一個標籤,例如
web。 - 打開應用程式設定中的調度設定。
- 選擇或填寫匹配的伺服器標籤。
- 按需要設定每台伺服器的最大副本數。
- 儲存後檢查實際副本是否分布到符合條件的伺服器。
當前應用程式調度選擇一個標籤條件。標籤只表達你的部署選擇,不會自動給伺服器增加容量或同步資料。
標籤的建立、刪除及命名規則見伺服器標籤。
如何計算容量
例如應用程式需要 3 個副本,匹配標籤的伺服器有 2 台,而每台最多執行 1 個副本,則最多只能安置 2 個副本。剩餘副本會等待,不能通過反復儲存設定解決。
除了副本上限,伺服器還必須滿足執行狀態和資源預留。調度標籤為空表示不添加該標籤篩選條件,不意味著忽略其他約束。
更新也受調度限制
使用先啟動新副本的更新順序時,新舊副本會暫時重疊。即使穩定狀態下的副本能放下,更新時也可能沒有額外位置。
檢查以下條件:
- 匹配標籤的伺服器數量。
- 每台伺服器剩餘的 CPU 和內存預留。
- 每台伺服器的副本上限。
- 更新期間需要同時執行的實例數量。
應在調整更新策略時一起核對這些條件。
本地資料應用程式
有狀態應用程式通過資料掛載固定到建立時選擇的伺服器。它不使用這裡的動態標籤調度,不能通過更改標籤把本地卷的資料移動到另一台機器。
需要變更資料位置時,按有狀態應用程式規劃資料遷移,而不是只修改部署位置。
常見問題
副本持續等待時,先查看目標伺服器狀態,再核對標籤拼寫、資源和上限。標籤修改後可能改變現有應用程式可使用的伺服器範圍,因此刪除標籤前應檢查哪些應用程式依賴它。
自動擴容不會繞過調度約束。增加動態副本最大值前,應先確認這些伺服器能夠承載新增副本。