# This example NodePool will provision instances running Windows Server 2019 --- apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: windows2019 annotations: kubernetes.io/description: "General purpose NodePool for Windows workloads" spec: template: spec: requirements: - key: kubernetes.io/os operator: In values: ["windows"] - key: kubernetes.io/arch operator: In values: ["amd64"] - key: karpenter.sh/capacity-type operator: In values: ["on-demand"] - key: karpenter.k8s.aws/instance-category operator: In values: ["c", "m", "r"] - key: karpenter.k8s.aws/instance-generation operator: Gt values: ["2"] nodeClassRef: group: karpenter.k8s.aws kind: EC2NodeClass name: windows2019 --- apiVersion: karpenter.k8s.aws/v1 kind: EC2NodeClass metadata: name: windows2019 annotations: kubernetes.io/description: "Nodes running Windows Server 2019" spec: role: "KarpenterNodeRole-${CLUSTER_NAME}" # replace with your cluster name subnetSelectorTerms: - tags: karpenter.sh/discovery: "${CLUSTER_NAME}" # replace with your cluster name securityGroupSelectorTerms: - tags: karpenter.sh/discovery: "${CLUSTER_NAME}" # replace with your cluster name amiSelectorTerms: - alias: windows2019@latest #Windows does not support pinning metadataOptions: httpProtocolIPv6: disabled httpTokens: required