Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Create and manage Windows node pools in an ACK cluster

Última atualização: Jun 27, 2026

Pools de nós gerenciam grupos de nós em um cluster, permitindo configurar rótulos e taints no nível do pool. Para executar workloads Windows, crie um pool de nós Windows no cluster ACK e atualize o kubelet, o runtime de contêineres e a imagem do sistema operacional no nível do pool.

Limitações

Atenda aos seguintes requisitos para criar um pool de nós Windows.

Categoria

Limitação

Cluster

Tipo de pool de nós

Apenas pools de nós não gerenciados oferecem suporte ao Windows. Não é possível converter o pool de nós padrão (default-nodepool).

Tipo de instância

  • Nem todos os tipos de instância são compatíveis com pools de nós Windows. Por exemplo, ecs.g6.xlarge é compatível.

  • O tipo de instância deve ter pelo menos 4 vCPUs e 8 GB de memória.

    • Contêineres Windows não acionam eliminação por falta de memória (OOM) ao exceder os limites de memória. Desde maio de 2021, nós Windows em clusters ACK versão 1,16 ou posterior reservam 1,5 vCPU, 2,5 GB de RAM e 3 GB de espaço em disco na inicialização para garantir a estabilidade do sistema operacional, do kubelet e do runtime. Consulte Política de reserva de recursos do nó.

      A reserva de recursos reduz o risco de indisponibilidade do nó causada pela alocação excessiva de workloads. No entanto, vazamentos de memória no contêiner ainda podem travar o nó.
    • Contêineres Windows consomem memória básica. Consulte Requisitos de memória para contêineres Windows.

As restrições a seguir também se aplicam.

Categoria

Limitação

Sistema operacional

Windows Server 2019, Windows Server 2022 e Windows Server Core, Version 2022.

Para Windows Server Core, Version 2004, selecione o ID de imagem mais recente nos registros de lançamento de imagens públicas ECS 2023.

Limite de nós do cluster

Padrão de 100 nós por cluster. Para aumentar o limite, envie um ticket no Quota Center.

Instâncias ECS existentes

As instâncias ECS devem ter endereços IP elásticos (EIPs) ou estar em uma VPC com NAT Gateway para que os nós acessem a internet. Consulte Adicionar nós existentes.

Reserva de recursos

Desde maio de 2021, nós Windows em clusters ACK versão 1,16 ou posterior reservam automaticamente os seguintes recursos na inicialização:

  • 1,5 vCPU

  • 2,5 GB de RAM

  • 3 GB de espaço em disco

Essa reserva garante a estabilidade do sistema operacional, do kubelet e do runtime. Contêineres Windows não acionam eliminações OOM ao exceder os limites de memória, mas vazamentos de memória no contêiner ainda podem travar o nó. Consulte Política de reserva de recursos do nó e Requisitos de memória para contêineres Windows.

Criar um pool de nós Windows

Console

  1. Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado e escolha Nodes > Node Pools no painel de navegação à esquerda.

  3. Na página Node Pools, clique em Create Node Pool e configure os parâmetros a seguir. Consulte Criar e gerenciar pools de nós.

    Parâmetro

    Configuração

    Configure Managed Node Pool

    Selecione Disable

    Container Runtime

    Selecione containerd

    Instance Type

    Escolha um tipo de instância com pelo menos 4 vCPUs e 8 GB de memória, como ecs.g6.xlarge. Não selecione tipos de instância do Elastic GPU Service. Consulte Famílias de instâncias.

    Expected Number of Nodes

    Quantidade alvo de nós. O pool dimensiona automaticamente para corresponder a esse valor.

    Operating System

    Selecione uma imagem Windows Server

    ECS Tags

    (Opcional) Tags para aplicar nas instâncias ECS subjacentes

    Node Labels

    (Opcional) Rótulos Kubernetes para aplicar aos nós

  4. Conclua as etapas restantes e envie.

O pool de nós estará pronto quando o Status mudar para Active na página Node Pools.

API

Chame CreateClusterNodePool para criar um pool de nós Windows programaticamente.

{
  "ClusterId": "ca8ed83XXXXXXXXXXXX5ec197",
  "body": {
    "nodepool_info": {
      "name": "nodepool-fXXXXXx",
      "resource_group_id": "rg-acfmXXXXXXXXsjpq"
    },
    "scaling_group": {
      "vswitch_ids": [
        "vsw-bp1XXXXXXXXXXXXX1xm84",
        "vsw-bp1XXXXXXXXXXXX2v6x0a",
        "vsw-bp1XXXXXXXXXXXXXjkxbo"
      ],
      "data_disks": [
        {
          "category": "cloud_essd",
          "size": 120,
          "encrypted": "false",
          "performance_level": "PL0"
        }
      ],
      "vpc_id": "vpc-bpXXXXXXXXXXXXXXXmgb6",
      "instance_charge_type": "PostPaid",
      "internet_max_bandwidth_out": 1,
      "soc_enabled": false,
      "security_hardening_os": 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",
      "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,
      "unschedulable": false,
      "runtime": "containerd",
      "runtime_version": "2.1.1"
    },
    "auto_scaling": {
      "enable": false
    },
    "tee_config": {
      "tee_enable": false
    },
    "node_config": {
      "image_acceleration_config": {
        "enable_image_acceleration": false
      }
    }
  }
}

Principais parâmetros:

Parâmetro

Descrição

scaling_group.instance_types

Tipos de instância para o pool de nós. Devem atender à especificação mínima (4 vCPUs, 8 GB de memória).

scaling_group.platform

Versão do Windows. Valores válidos: WindowsServer2019, WindowsServer2022.

scaling_group.image_type

Deve corresponder a platform.

scaling_group.instance_charge_type

Método de faturamento. PostPaid (pagamento conforme o uso) ou PrePaid (assinatura). Valor padrão: PostPaid.

kubernetes_config.runtime

Deve ser containerd.

kubernetes_config.runtime_version

containerd 1,6 ou posterior (por exemplo, 2.1.1).

kubernetes_config.cms_enabled

Quando definido como true, instala o agente CloudMonitor nos nós para monitoramento de métricas.

tee_config.tee_enable

Ativa computação confidencial. Defina como false para pools de nós Windows padrão.

soc_enabled

Ativa o endurecimento de segurança Multi-Level Protection Scheme (MLPS) 2.0.

Terraform

Use o recurso alicloud_cs_kubernetes_node_pool para criar um pool de nós Windows. Consulte Visão geral do Terraform.

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"
  instance_types        = ["ecs.g8i.xlarge"]
  internet_max_bandwidth_out = 0
  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"

  scaling_config {
    enable      = false
    is_bond_eip = false
  }

  security_hardening_os         = false
  soc_enabled                   = false
  system_disk_category          = "cloud_essd"
  system_disk_encrypted         = 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*****"
  ]
}

Atualizar um pool de nós Windows

A atualização de um pool de nós Windows abrange dois componentes:

  • Kubelet: atualiza o kubelet em todos os nós para corresponder à versão do plano de controle.

  • Runtime de contêineres: atualiza o containerd para a versão compatível mais recente.

Atualize o plano de controle para a versão alvo antes de atualizar o pool de nós.

Atualize substituindo os discos do sistema dos nós. Consulte Atualizar um pool de nós.

Atualizar a imagem do SO de um pool de nós Windows

Atualize a imagem do SO do pool de nós para obter os recursos e correções mais recentes. Consulte Substituir o sistema operacional.

As versões de imagem disponíveis estão listadas em Sistemas operacionais.

Próximas etapas