Container Service for Kubernetes (ACK) allows you to create node pools and manage nodes in a cluster by node pool. For example, you can centrally manage the labels and taints of the nodes in a node pool. This topic describes how to create a node pool that consists of Windows nodes in the ACK console.

Prerequisites

An ACK managed cluster whose Kubernetes version is later than 1.9 is created. For more information, see Create an ACK managed cluster.

Note You can create Windows node pools only in ACK managed clusters.

Considerations

  • Windows node pools support only the Flannel network plug-in and must be created in ACK managed clusters. In addition, the node pool type of Windows node pools must be regular node pool.
  • By default, you can deploy at most 100 nodes in an ACK cluster. To increase the quota, Submit a ticket.
  • When you add an existing Elastic Compute Service (ECS) instance to a node pool, make sure that the ECS instance is associated with an elastic IP address (EIP) or a NAT gateway is configured for the virtual private cloud (VPC) where the ECS instance is deployed. In addition, make sure that the ECS instance can access the Internet. Otherwise, you cannot add the ECS instance to the node pool.

  • Windows node pools support Windows Server 2019, Windows Server version 1909, and Windows Server version 2004.
    Note You can select Windows Server 2019 and Windows Server version 2004 in the ACK console. If you want to use Windows Server version 1909, you must select the latest image ID based on the release notes for ECS public images to create a node pool. For more information, see Release notes.
  • The specifications of ECS instances in a Windows node pool must be higher than 4 vCPUs and 8 GB of memory.
    • If the memory usage of Windows containers exceeds the limit, the Out of Memory (OOM) Killer is not executed. Starting from May 2021, when a newly added Windows node in an ACK cluster that uses Kubernetes 1.16 or later is started, the node reserves 1.5 vCPUs, 2.5 GB of RAM, and 3 GB of disk space. The resources are reserved to ensure that the Windows operating system, kubelet, and container runtime run as normal.
      Note ACK reserves resources in case the Windows workloads overwhelm and then crash the Windows nodes. However, when a memory leak occurs in a Windows container, the Windows node that hosts the container may stop running.
    • Windows containers have a small footprint. For more information, see Memory requirements of Windows containers.

Procedure

  1. Log on to the ACK console.
  2. In the left-side navigation pane of the ACK console, click Clusters.
  3. On the Clusters page, find the cluster that you want to manage and click the name of the cluster or click Details in the Actions column. The details page of the cluster appears.
  4. In the left-side navigation pane of the details page, choose Nodes > Node Pools.
  5. In the upper-right corner of the Node Pools page, click Create Node Pool.
    Note You can create Windows nodes only in regular node pools.
  6. In the Create Node Pool dialog box, configure the node pool.
    For more information about the parameters, see Create an ACK managed cluster. The following list describes some of the parameters:
    • Quantity: Specify the number of nodes that you want to add to the node pool. If you do not want to add nodes to the node pool, set this parameter to 0.
    • Operating System: Select a Windows operating system.
    • Node Label: Add labels to the nodes in the node pool.
    • ECS Label: Add labels to the ECS instances.
  7. Click Confirm Order.
    On the Node Pools page, check the status of the node pool. If the node pool is in the Initializing state, the node pool is being created. After the node pool is created, the node pool is in the Active state.