在Container ServiceK8s叢集中建立或部署應用時,您可以根據實際需求修改應用執行個體的調度規則,將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時,您才可以配置容忍時間。
匹配到節點對應汙點後,應用在節點上可以繼續啟動並執行時間。若不指定該欄位則表示應用可以一直運行在該節點。重要 單擊確定後,該應用將會被重啟,請在業務較少的時間段進行。 - 選擇內建配置: