日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

節點池部署集最佳實踐

部署集是控制ECS實例分布的策略,該策略將ECS實例分散部署在不同的物理服務器上,提升業務的高可用性和底層容災能力。通過為節點池指定部署集,能夠保證節點池彈出的ECS實例不會分布于同一物理機上,并通過親和性配置,使您的應用對底層的節點拓撲進行感知,使其均勻地分布在不同節點上,保證應用的容災能力和高可用性。

前提條件

  • 已創建部署集。具體操作,請參見創建部署集。

  • 已確保部署集內ECS實例配額充足,默認為20臺,且所需機型庫存充足。具體信息,請參見查看和提升資源配額。

背景信息

在同一個可用區下,為了保證高可用性,您通常會選擇跨主機部署服務。但當一臺物理機出現問題時,會影響到應用的所有副本。為了解決這個問題,ECS提供了部署集功能。部署集內的所有ECS實例會在指定地域內嚴格分散在不同的物理服務器上,滿足服務相互隔離的應用架構,大幅降低服務不可用的幾率。關于部署集的更多信息,請參見部署集概述。

使用限制

集群中功能使用須知

  • 部署集僅支持ACK專有集群ACK托管集群

  • 部署集僅在新建節點池時支持指定,不支持為已有節點池開啟。每個節點池僅支持綁定一個部署集,且不支持更換。

  • 部署集不支持手動添加或移除節點。您可以通過擴縮容節點池的操作,調整部署集中的節點數。具體操作,請參見創建節點池

  • 開啟部署集功能后,不支持創建搶占式實例。

部署集配額與規格限制

  • 節點池部署集默認基于高可用策略實現。高可用策略下,在部署集內創建ECS實例時,一個可用區內最多能創建20臺ECS實例,一個阿里云地域下能創建的ECS實例數量為20*可用區數量。更多信息,請參見部署集概述

    一個部署集內能容納的實例數量不支持提升。但如果您需要提高當前賬戶可擁有的部署集最大數量,請前往配額平臺申請。關于部署集使用限制及配額的更多信息,請參見部署集使用限制。

  • 支持的實例規格族限制:

    不同部署集策略僅支持創建特定的實例規格族,具體信息如下。

    說明

    您也可以調用DescribeDeploymentSetSupportedInstanceTypeFamily指定部署集策略來獲取各部署集策略支持的實例規格族。

    部署策略

    支持的實例規格族

    高可用策略和部署集組高可用策略

    • g8a、g8i、g8y、g7se、g7a、g7、g7h、g7t、g7ne、g7nex、g6、g6e、g6a、g6h、g5、g5ne、sn2ne

    • c8a、c8i、c8y、c7se、c7、c7t、c7nex、c7a、c6、c6a、c6e、c5、ic5、sn1ne

    • r8a、r8i、r8y、r7、r7se、r7t、r7a、r6、r6e、r6a、re6、re6p、r5、re4、se1ne、se1

    • hfc8i、hfg8i、hfr8i、hfc7、hfg7、hfr7、hfc6、hfg6、hfr6、hfc5、hfg5

    • d3s、d3c、d2s、d2c、d1、d1ne、d1-c14d3、d1-c8d3

    • i4、i4g、i4r、i3g、i3、i2、i2g、i2ne、i2gne、i1

    • ebmg5、ebmc7、ebmg7、ebmr7、sccgn6、scch5、scch5s、sccg5、sccg5s

    • e、s6、t6、xn4、mn4、n4、e4

    • gn6i

    • u1

    網絡低時延策略

    • g8a、g8i、g8ae、g8y

    • c8a、c8i、c8ae、c8y

    • r8a、r8i、r8ae、r8y

    • i4

    • hfc8i、hfg8i、hfr8i

    • ebmgn7ex、ebmc7、ebmg7、ebmr7

  • 在部署集內創建ECS實例失敗,或重啟按量付費ECS實例(節省停機模式)失敗,可能是因為地域內實例資源庫存不足,您可以等待一段時間后重試創建實例或重啟實例。

通過控制臺為節點池指定部署集

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇節點管理 > 節點池。

  3. 節點池頁面右上角,單擊創建節點池,然后在創建節點池對話框,配置參數,選擇部署集,然后單擊確認配置。

    有關節點池配置項的詳細說明,請參見創建節點池。部署集.png

使用案例

服務在同一個節點池中,同一個應用的Pod之間反親和,一個節點只能調度一個Pod

本示例介紹如何將Deployment中的三個Pod副本調度到三個不同節點上,操作步驟如下。

  1. 創建節點池包含三個節點,并為節點池指定部署集ID。具體操作,請參見通過控制臺為節點池指定部署集。

    創建節點池完成后,在節點池頁面,單擊目標節點,在節點管理頁簽,可以查看到成功創建的三個節點。部署集1.png

    登錄ECS控制臺,在左側導航欄選擇部署與彈性 > 部署集,在部署集頁面,可以查看到節點池中的三個節點均屬于所選的部署集。部署集2.png

  2. 使用以下示例內容,配置應用YAML。

    通過反親和性配置三個應用Pod,將不同的Pod調度到節點池不同節點上。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          labels:
            app: nginx
        spec:
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:  # 設置調度策略。
              - labelSelector:
                  matchExpressions:
                  - key: app
                    operator: In
                    values:
                    - nginx
                topologyKey: kubernetes.io/hostname
          nodeSelector:
              alibabacloud.com/nodepool-id: <nodepool-id>  # 指定節點池ID。
          containers:
          - name: nginx
            image: nginx
            resources:
              limits:
                cpu: 1
              requests:
                cpu: 1

    執行結果

    無狀態頁面,單擊目標Deployment,在容器組頁簽,可以看到三個不同的Pod調度到節點池不同節點上。部署集3.png

服務在同一個節點池中,同一個應用的Pod之間按照可用區和節點均勻調度打散

  1. 創建節點池包含四個節點,為節點池指定部署集ID,并選擇多可用區的VSwitch。具體操作,請參見通過控制臺為節點池指定部署集

    創建完成后,在節點頁面,可以查看到四個節點,并選擇了四個可用區。根據ESS的均勻分布策略,彈出的ECS實例將分布在不同的四個可用區,且均加入了部署集。部署集4.png

    登錄ECS控制臺,在左側導航欄選擇部署與彈性 > 部署集,在部署集頁面,可以查看到節點池中的四個節點均屬于所選的部署集。部署集5.png

  2. 使用以下示例內容,配置應用YAML。

    通過Pod拓撲分布約束,將同一個應用的Pod之間按照可用區和節點均勻調度打散。更多信息,請參見Pod 拓撲分布約束。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          labels:
            app: nginx
        spec:
          topologySpreadConstraints:
            - maxSkew: 1
              topologyKey: kubernetes.io/hostname
              whenUnsatisfiable: DoNotSchedule
              labelSelector:
                  matchLabels:
                    app: nginx
            - maxSkew: 1
              topologyKey: topology.kubernetes.io/zone
              whenUnsatisfiable: DoNotSchedule
              labelSelector:
                  matchLabels:
                    app: nginx
          nodeSelector:
              alibabacloud.com/nodepool-id: <nodepool-id>  #指定節點池ID。
          containers:
          - name: nginx
            image: nginx
            resources:
              limits:
                cpu: 1
              requests:
                cpu: 1

    執行結果

    無狀態頁面,單擊目標Deployment,在容器組頁簽,可以看到同一個應用的Pod之間按照可用區和節點已均勻調度打散。部署集6

相關文檔