全部產品
Search
文件中心

Container Service for Kubernetes:在ACK叢集中建立和管理Windows節點池

更新時間:Aug 12, 2026

節點池可以管理叢集中的一組節點資源,例如在節點池中統一管理節點的標籤和汙點。如需建立作業系統類型為Windows的節點,您可以在ACK叢集中建立Windows節點池,並在節點池維度進行kubelet、運行時和作業系統鏡像版本的升級。

使用限制

下表介紹了建立Windows節點池時必須滿足的條件。

限制項

說明

叢集

  • 已建立ACK託管叢集。

    僅支援在ACK託管叢集中建立Windows節點池,且需要在已建立的叢集中建立,不支援在建立叢集時建立。
  • 叢集版本為1.32及以上。

    如需升級叢集,請參見手動升級叢集。
  • 叢集網路類型為Flannel。

  • kube-flannel-ds-windows版本為v0.15.2-aliyun及以上。

容器運行時

僅1.6及以上版本的containerd支援Windows節點池。

如需升級運行時版本,請參見升級節點池。

節點池類型

僅支援將非託管節點池建立為Windows節點池。

執行個體規格

  • 不同執行個體規格對Windows節點池的支援情況不同,有些執行個體規格不支援Windows節點池,請多次嘗試。例如,您可以選擇ecs.g6.xlarge,此執行個體規格支援Windows節點池。

  • 執行個體規格為4核 8GB及以上。

    • Windows容器在記憶體使用量超出限制後並不會執行OOM Killed。自2021年05月起,在1.16及之後版本的ACK叢集,新添加的Windows節點啟動時會預留一定的資源(1.5核CPU、2.5 GB RAM、3 GB DISK),以保證Windows系統、kubelet、容器運行時的穩定運行。關於資源預留的更多資訊,請參見節點資源預留策略。

      預留資源機制可以減少或避免因Windows工作負載的資源過度分派而導致Windows節點完全停用情況。但當Windows容器應用發生記憶體流失時,依然存在擊垮Windows節點的可能性。
    • Windows容器有一定的Footprint。更多資訊,請參見Windows容器的記憶體要求。

下表介紹建立Windows節點池時的使用限制。

限制項

說明

作業系統

Windows節點池支援的作業系統為Windows Server 2019、Windows Server 2022和Windows Server Core,Version 2022。

ACK控制台支援選擇Windows Server 2019、Windows Server 2022和Windows Server Core,Version 2022。如有使用Windows Server Core,Version 2004的需求,請根據ECS2023年公用鏡像發布記錄來選擇最新的鏡像ID建立節點池。

節點數量

預設情況下,每個叢集中最多可包含100個節點。如果您需要添加更多節點,請到配額平台提交申請。

雲端服務器

添加已有雲端服務器時,請確保您的專用網路中的ECS執行個體已綁定一個Elastic IP Address(EIP),或者相應VPC已配置NAT Gateway。請確保相應節點能正常訪問公網,否則,添加雲端服務器會失敗。關於添加已有ECS執行個體的注意事項和操作步驟,請參見添加已有節點。

建立Windows節點池

控制台

不支援建立預設節點池(default-nodepool)為Windows節點池。請參見上文使用限制,在建立叢集後額外建立Windows節點池。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表。

  2. 在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點池。

  3. 在節點池頁面,單擊建立節點池,按照頁面提示完成節點池的建立。

    關於配置項的詳細說明,請參見建立和管理節點池。部分配置項說明如下。

    配置項

    說明

    託管配置

    選擇不開啟。

    容器運行時

    選擇containerd。

    執行個體規格

    • 不同執行個體規格對Windows節點池的支援情況不同,有些執行個體規格不支援Windows節點池,需要進行多次嘗試。例如您可以選擇ecs.g6.xlarge,此執行個體規格支援Windows節點池。

    • 請選擇4核8GB以上的規格。

    • 請選擇非GPU雲端服務器架構的執行個體規格。

      更多關於執行個體規格的資訊,請參見執行個體規格類型系列。

    期望節點數

    節點池應該維持的節點數量。指定節點池的期望節點數後,節點池會自動觸發擴容或縮容,將節點數目維持在期望數量。

    作業系統

    選擇Windows作業系統。

    ECS 標籤

    為ECS執行個體添加標籤。

    節點標籤(Labels)

    為叢集節點添加標籤。

    在節點池頁面,當節點池狀態顯示為已啟用,表明Windows節點池建立成功。

API

您可以調用CreateClusterNodePool介面建立Windows 節點池,配置節點數量、節點規格等參數。樣本參數如下。

{
  "ClusterId": "ca8ed83XXXXXXXXXXXX5ec197",          // 叢集ID。
  "body": { 
    "nodepool_info": {
      "name": "nodepool-fXXXXXx",                    // 節點池名稱。
      "resource_group_id": "rg-acfmXXXXXXXXsjpq"     // 叢集所屬資源群組 ID,實現不同資源的隔離。  
    },
    "scaling_group": {
      "vswitch_ids": [                               // 叢集節點所在虛擬交換器,當建立零節點的託管版叢集時,該欄位必填。 
        "vsw-bp1XXXXXXXXXXXXX1xm84",
        "vsw-bp1XXXXXXXXXXXX2v6x0a",
        "vsw-bp1XXXXXXXXXXXXXjkxbo"
      ],
      "data_disks": [                                // Worker 節點資料盤類型、大小等配置的組合。
        {
          "category": "cloud_essd",
          "size": 120,
          "encrypted": "false",
          "performance_level": "PL0"
        }
      ],
      "vpc_id": "vpc-bpXXXXXXXXXXXXXXXmgb6",         // 叢集VPC_ID。
      "instance_charge_type": "PostPaid",            // 節點付費類型,取值:PrePaid(預付費執行個體)。 PostPaid(隨用隨付)。預設值:PostPaid 。
      "internet_max_bandwidth_out": 1,               // 節點公網 IP 出頻寬最大值,單位為 Mbps(Mega bit per second),取值範圍:[1,100]
      "soc_enabled": false,                          // 節點開啟等保加固。取值:true:開啟。false:不開啟。
      "security_hardening_os": false,                // 是否開啟阿里雲OS安全強化。取值:true:開啟。  false:不開啟。預設值:false。
      "instance_types": [                            //  執行個體規格。
        "ecs.g6.xlarge"
      ],
      "instance_patterns": [                         // 執行個體屬性配置。
        {
          "Cores": 4,
          "Memory": 16,
          "burst_performance_option": "Exclude",     // 是否為效能突發執行個體規格。  
          "excluded_instance_types": [               // 需要排除的執行個體規格。
            "ecs.c6t.*"
            // ...
          ],
          "instance_type_families": [                // 指定執行個體規格類型系列。  
            "ecs.g6"
            // ...
          ]
        }
      ],
      "login_password": "XXXXXX",
      "login_as_non_root": false,
      "system_disk_category": "cloud_essd",
      "system_disk_size": 40,
      "system_disk_performance_level": "PL0",
      "system_disk_encrypted": false,
      "multi_az_policy": "BALANCE",                // 多可用性區域伸縮組 ECS 執行個體擴縮容策略。
      "platform": "WindowsServer2022",
      "image_id": "win2022_21H2_x64_dtc_en-us_40G_container_alibase_20240220.vhd",
      "image_type": "WindowsServer2022",
      "desired_size": 1
    },
    "kubernetes_config": {                         // 叢集相關配置。
      "cms_enabled": true,                         // 是否在 ECS 節點上安裝CloudMonitor,安裝後可以在CloudMonitor控制台查看所建立 ECS 執行個體的監控資訊,推薦開啟。
      "unschedulable": false,                      // 擴容後的節點是否不可調度。  true:不可調度。  false:可調度。
      "runtime": "containerd",                   
      "runtime_version": "2.1.1"                   // 僅1.6及以上版本的containerd支援Windows節點池。
    },
    "auto_scaling": {                              // 自動Auto Scaling節點池配置。 true:開啟節點池自動調整功能。 false:不開啟自動調整。
      "enable": false
    },
    "tee_config": {                                // 加密計算節點池配置。  true:開啟加密計算。false:不開啟加密計算。
      "tee_enable": false
    },
    "node_config": {                               // 節點配置。    
      "image_acceleration_config": {
        "enable_image_acceleration": false
      }
    }
  }
}

Terraform

您可以參見Terraform概述文檔建立Windows 節點池,配置節點數量、節點規格等參數。樣本參數如下。

provider "alicloud" {
  region = "cn-beijing"
}

resource "alicloud_cs_kubernetes_node_pool" "pool" {
  cluster_id = "c1f801474ea46417d8e83cc482******"
  data_disks {
    category          = "cloud_essd"
    encrypted         = "false"
    performance_level = "PL0"
    size              = 120
  }
  
  desired_size          = 1
  image_id              = "win2019_1809_x64_dtc_en-us_40G_container_alibase_20240220.vhd"
  image_type            = "Windows"
  install_cloud_monitor = true
  instance_charge_type  = "PostPaid"     // 節點付費類型,取值:PrePaid(預付費執行個體)。 PostPaid(隨用隨付)。預設值:PostPaid 。
  instance_types = [
    "ecs.g8i.xlarge"
  ]
  internet_max_bandwidth_out = 0        // 節點公網 IP 出頻寬最大值,單位為 Mbps,取值範圍:[1,100]。
  login_as_non_root          = false
  multi_az_policy            = "BALANCE"
  node_pool_name             = "nodepool-8liYZX"
  password                   = "**********"
  platform                   = "WindowsServer2019"
  resource_group_id          = "rg-acfmvnjn2*****"
  runtime_name               = "containerd"
  runtime_version            = "2.1.5"      // 容器運行時版本,僅1.6及以上版本的containerd支援Windows節點池。
  scaling_config {
    enable      = false
    is_bond_eip = false
  }
  security_hardening_os         = false
  soc_enabled                   = false     // 等保加固。取值:true:開啟等保加固。false:不開啟等保加固。
  system_disk_category          = "cloud_essd"
  system_disk_encrypted         = false     // 是否加密系統硬碟。取值範圍: true:加密。false:不加密。
  system_disk_performance_level = "PL0"
  system_disk_size              = 40
  tee_config {
    tee_enable = false
  }
  unschedulable = false
  vswitch_ids = [
    "vsw-2ze9k65q3wn23wy*****",
    "vsw-2zekovpspoxgn44*****",
    "vsw-2ze54z91jw267e1*****"
  ]
}

升級Windows節點池

節點池升級包括kubelet升級和容器運行時升級。請在升級節點池前,確保已升級控制面至目標版本。

  • kubelet升級:將節點池內節點的kubelet升級到與控制面相同的版本。

  • 容器運行時升級:容器運行時發布新版本後,可升級節點的容器運行時至最新版本。

請參見升級節點池瞭解升級的注意事項和操作入口。配置升級方式時,Windows節點池需選擇通過替換節點系統硬碟的方式進行升級。

升級Windows節點池的作業系統鏡像

可參見更換作業系統將節點池的作業系統鏡像升級至最新版本,以享用新的功能特性、功能最佳化和缺陷修複。

可參見作業系統瞭解鏡像的最新版本。

相關文檔