在容器服務K8s集群中創建或部署應用時,您可以根據實際需求修改應用實例的調度規則,將Pod實例盡可能部署在多個可用區和多個節點,來增強應用的可用性。本文介紹如何配置調度規則。
在創建應用時配調度規則
登錄EDAS控制臺,在左側導航欄,單擊 ,在頂部菜單欄選擇地域并在頁面上方選擇命名空間,然后在應用列表頁面左上角,單擊創建應用。
- 在應用基本信息頁簽,選擇集群類型和應用運行環境,然后在頁面最下方單擊下一步。
配置項 描述 集群類型 選擇Kubernetes集群。 應用運行環境 根據選擇的托管應用類型選擇應用運行環境。 - Java:
- 自定義:適用于在K8s集群中使用自定義的鏡像部署應用。
- Java:支持通用的JAR包部署,適用于Dubbo和Spring Boot應用。在選擇后可更改Java環境。
- Tomcat:支持通用的WAR包部署,適用于Dubbo和Spring應用。在選擇后可更改Java環境和容器版本。
- EDAS-Container(HSF):適用于使用WAR或者FatJar部署HSF應用。在選擇后可更改Java環境、Pandora版本和Ali-Tomcat版本。
- PHP:適用于運行在Apache HTTP Server中的PHP應用程序。
- 多語言Node、C++、Go…:適用于任何語言的使用自定義鏡像來部署的微服務應用。
- Java:
在應用配置頁簽,設置應用的環境信息、基本信息、部署方式和資源參數,設置完成后單擊下一步。
- 在應用高級設置頁簽,展開調度規則,并根據您的業務需求設置調度模式和規則。
- 選擇內置配置:
配置項 描述 可用區調度 - 默認調度:實例默認按照集群資源情況調度,所有實例有可能部署于單可用區,可用性一般。
- 盡量多可用區部署:實例會利用反親和性,盡可能分散部署到多可用區,可用性高。
節點調度 - 默認調度:實例默認按照節點資源負載情況調度。
- 盡量多節點部署:同一應用的實例,將盡量打散到不同節點上部署,以實現應用高可用部署。
- 選擇自定義配置:
如果內置的按節點與可用區的配置調度規則無法滿足您對于復雜場景的需求時,您可以使用EDAS提供的自定義配置功能,根據實際業務場景來設計調度規則。
表 1. 添加節點親和性調度規則 配置項 描述 選擇器 您可以通過配置節點標簽名、操作符號和節點標簽值來指定節點的調度規則。
權重 權重值允許設置0~100,默認權重值為1 。 表 2. 添加應用親和性調度規則 配置項 描述 K8s命名空間 應用關聯的K8s命名空間。 拓撲域 K8s集群中為方便管理劃分的一種“位置”關系,如節點、可用區、區域等。 選擇器 您可以通過配置應用標簽名、操作符號和應用標簽值指定調度約束條件。 權重 權重值允許設置0~100,默認權重值為1。 表 3. 添加應用反親和性調度規則 配置項 描述 K8s命名空間 應用關聯的K8s命名空間。 拓撲域 K8s集群中為方便管理劃分的一種“位置”關系,如節點、可用區、區域等。 選擇器 您可以通過配置應用標簽名、操作符號和應用標簽值指定調度約束條件。 權重 權重值允許設置0~100,默認權重值為1 。 表 4. 添加調度容忍規則 配置項 描述 標簽名 調度容忍規則作用的對象。 操作符號 操作符定義了其對調度規則的作用。 標簽值 標簽對應的值。調度容忍是應用由標簽名、標簽值和操作符號以及效果這四部分去匹配合適的污點。 效果 匹配到節點對應污點后,應用運行的效果。 容忍時間(秒) 當效果取值為NoExecute時,您才可以配置容忍時間。
匹配到節點對應污點后,應用在節點上可以繼續運行的時間。若不指定該字段則表示應用可以一直運行在該節點。 - 選擇內置配置:
完成設置后單擊創建應用。
在應用創建完成頁簽確認應用基本信息、應用配置和應用高級設置等信息,確認完畢后單擊確定創建應用。
在應用總覽頁面頂部提示信息中,單擊查看詳情,可在變更記錄頁面查看變更流程。應用部署需要幾分鐘,請您耐心等待。變更完成后在應用總覽頁面的基本信息區域查看實例的運行狀態,如果顯示為Pod運行中,說明應用部署成功。
在更新應用時配調度規則
您可在創建應用時配置調度規則,也可以在部署應用時配置或更新調度規則。
登錄EDAS控制臺。
在左側導航欄,單擊 ,在頂部菜單欄選擇地域并在頁面上方選擇命名空間,在集群類型下拉列表,選擇K8s集群,然后在頁面單擊具體的應用名稱。
在應用總覽或基本信息頁面的右上角,選擇 。
在選擇部署模式頁面,選擇具體的部署方式,然后在所選方式區域的右上角,單擊開始部署。
- 設置應用的環境和部署包信息后展開調度規則,根據您的需求完成配置后單擊確定。
- 選擇內置配置:
配置項 描述 可用區調度 - 默認調度:實例默認按照集群資源情況調度,所有實例有可能部署于單可用區,可用性一般。
- 盡量多可用區部署:實例會利用反親和性,盡可能分散部署到多可用區,可用性高。
節點調度 - 默認調度:實例默認按照節點資源負載情況調度。
- 盡量多節點部署:同一應用的實例,將盡量打散到不同節點上部署,以實現應用高可用部署。
- 選擇自定義配置:
如果內置的按節點與可用區的配置調度規則無法滿足您對于復雜場景的需求時,您可以使用EDAS提供的自定義配置功能,根據實際業務場景來設計調度規則。
表 1. 添加節點親和性調度規則 配置項 描述 選擇器 您可以通過配置節點標簽名、操作符號和節點標簽值來指定節點的調度規則。
權重 權重值允許設置0~100,默認權重值為1 。 表 2. 添加應用親和性調度規則 配置項 描述 K8s命名空間 應用關聯的K8s命名空間。 拓撲域 K8s集群中為方便管理劃分的一種“位置”關系,如節點、可用區、區域等。 選擇器 您可以通過配置應用標簽名、操作符號和應用標簽值指定調度約束條件。 權重 權重值允許設置0~100,默認權重值為1。 表 3. 添加應用反親和性調度規則 配置項 描述 K8s命名空間 應用關聯的K8s命名空間。 拓撲域 K8s集群中為方便管理劃分的一種“位置”關系,如節點、可用區、區域等。 選擇器 您可以通過配置應用標簽名、操作符號和應用標簽值指定調度約束條件。 權重 權重值允許設置0~100,默認權重值為1 。 表 4. 添加調度容忍規則 配置項 描述 標簽名 調度容忍規則作用的對象。 操作符號 操作符定義了其對調度規則的作用。 標簽值 標簽對應的值。調度容忍是應用由標簽名、標簽值和操作符號以及效果這四部分去匹配合適的污點。 效果 匹配到節點對應污點后,應用運行的效果。 容忍時間(秒) 當效果取值為NoExecute時,您才可以配置容忍時間。
匹配到節點對應污點后,應用在節點上可以繼續運行的時間。若不指定該字段則表示應用可以一直運行在該節點。重要 單擊確定后,該應用將會被重啟,請在業務較少的時間段進行。 - 選擇內置配置:
EDAS容器服務K8s和Serverless K8s交流群
如果您在EDAS中使用容器服務K8s集群和Serverless K8s集群過程中有任何疑問或建議,請使用釘釘搜索釘釘群號23197114加入釘釘群進行反饋。