Amazon EKS 优化版 Windows AMI - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon EKS 优化版 Windows AMI

Windows Amazon EKS 优化版 AMI 基于 Windows Server 2019 构建。它们被配置作为 Amazon EKS 节点的基本映像。默认情况下,AMI 包括以下组件:

注意

您可以使用 Microsoft 安全更新指南跟踪 Windows Server 的安全或隐私事件。

Amazon EKS 提供了已针对 Windows 容器进行了优化的 AMI,包括以下变体:

  • Amazon EKS 优化版 Windows Server 2019 Core AMI

  • Amazon EKS 优化版 Windows Server 2019 Full AMI

重要

Amazon EKS 优化版 Windows Server 20H2 Core AMI 已弃用。不会发布此 AMI 的任何新版本。

以下各表中显示最新的 Amazon EKS 优化版 AMI ID。您也可以使用不同工具,通过 Amazon Systems Manager 参数检索 ID。有关更多信息,请参阅检索 Amazon EKS 优化版 Windows AMI ID

Windows Server 2019 是长期服务渠道 (LTSC, Long-Term Servicing Channel) 版本,20H2 版是半年渠道 (SAC, Semi-Annual Channel) 版本。我们不再支持 SAC 版本。有关这些版本类型的详细信息,请参阅 Windows 文档中的 Microsoft 服务器版本信息。有关 Windows 操作系统版本支持的更多信息,请参阅 Kubernetes 中的 Windows 支持简介

1.23
Kubernetes 版本 1.23
Amazon Web Services 区域 Windows Server 2019 Core Windows Server 2019 Full
美国东部(俄亥俄)(us-east-2) 查看 AMI ID 查看 AMI ID
美国东部(弗吉尼亚北部)(us-east-1) 查看 AMI ID 查看 AMI ID
美国西部(俄勒冈)(us-west-2) 查看 AMI ID 查看 AMI ID
美国西部(加利福尼亚北部)(us-west-1) 查看 AMI ID 查看 AMI ID
非洲(开普敦)(af-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(香港)(ap-east-1) 查看 AMI ID 查看 AMI ID
亚太地区(孟买)(ap-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(东京)(ap-northeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(首尔)(ap-northeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(大阪)(ap-northeast-3) 查看 AMI ID 查看 AMI ID
亚太地区(新加坡)(ap-southeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(悉尼)(ap-southeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(雅加达)(ap-southeast-3
注意

如果 SSM 参数当前不可用,您可以从 Amazon EC2 控制台搜索中对 AMI ID 进行硬编码(基于 Windows/Kube 变体)。在 Launch an instance(启动实例)页面上,搜索“eks windows”,然后切换到 Community AMIs(社区 AMI)选项卡。

查看 AMI ID 查看 AMI ID
加拿大(中部)(ca-central-1) 查看 AMI ID 查看 AMI ID
中国(北京)(cn-north-1) 查看 AMI ID 查看 AMI ID
中国(宁夏)(cn-northwest-1) 查看 AMI ID 查看 AMI ID
欧洲(法兰克福)(eu-central-1) 查看 AMI ID 查看 AMI ID
欧洲(爱尔兰)(eu-west-1) 查看 AMI ID 查看 AMI ID
欧洲(伦敦)(eu-west-2) 查看 AMI ID 查看 AMI ID
欧洲(米兰)(eu-south-1) 查看 AMI ID 查看 AMI ID
欧洲(巴黎)(eu-west-3) 查看 AMI ID 查看 AMI ID
欧洲(斯德哥尔摩)(eu-north-1) 查看 AMI ID 查看 AMI ID
中东(巴林)(me-south-1) 查看 AMI ID 查看 AMI ID
南美洲(圣保罗)(sa-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国东部)(us-gov-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国西部)(us-gov-west-1) 查看 AMI ID 查看 AMI ID
1.22
Kubernetes 版本 1.22
Amazon Web Services 区域 Windows Server 2019 Core Windows Server 2019 Full
美国东部(俄亥俄)(us-east-2) 查看 AMI ID 查看 AMI ID
美国东部(弗吉尼亚北部)(us-east-1) 查看 AMI ID 查看 AMI ID
美国西部(俄勒冈)(us-west-2) 查看 AMI ID 查看 AMI ID
美国西部(加利福尼亚北部)(us-west-1) 查看 AMI ID 查看 AMI ID
非洲(开普敦)(af-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(香港)(ap-east-1) 查看 AMI ID 查看 AMI ID
亚太地区(孟买)(ap-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(东京)(ap-northeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(首尔)(ap-northeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(大阪)(ap-northeast-3) 查看 AMI ID 查看 AMI ID
亚太地区(新加坡)(ap-southeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(悉尼)(ap-southeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(雅加达)(ap-southeast-3
注意

如果 SSM 参数当前不可用,您可以从 Amazon EC2 控制台搜索中对 AMI ID 进行硬编码(基于 Windows/Kube 变体)。在 Launch an instance(启动实例)页面上,搜索“eks windows”,然后切换到 Community AMIs(社区 AMI)选项卡。

查看 AMI ID 查看 AMI ID
加拿大(中部)(ca-central-1) 查看 AMI ID 查看 AMI ID
中国(北京)(cn-north-1) 查看 AMI ID 查看 AMI ID
中国(宁夏)(cn-northwest-1) 查看 AMI ID 查看 AMI ID
欧洲(法兰克福)(eu-central-1) 查看 AMI ID 查看 AMI ID
欧洲(爱尔兰)(eu-west-1) 查看 AMI ID 查看 AMI ID
欧洲(伦敦)(eu-west-2) 查看 AMI ID 查看 AMI ID
欧洲(米兰)(eu-south-1) 查看 AMI ID 查看 AMI ID
欧洲(巴黎)(eu-west-3) 查看 AMI ID 查看 AMI ID
欧洲(斯德哥尔摩)(eu-north-1) 查看 AMI ID 查看 AMI ID
中东(巴林)(me-south-1) 查看 AMI ID 查看 AMI ID
南美洲(圣保罗)(sa-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国东部)(us-gov-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国西部)(us-gov-west-1) 查看 AMI ID 查看 AMI ID
1.21
Kubernetes 版本 1.21
Amazon Web Services 区域 Windows Server 2019 Core Windows Server 2019 Full
美国东部(俄亥俄)(us-east-2) 查看 AMI ID 查看 AMI ID
美国东部(弗吉尼亚北部)(us-east-1) 查看 AMI ID 查看 AMI ID
美国西部(俄勒冈)(us-west-2) 查看 AMI ID 查看 AMI ID
美国西部(加利福尼亚北部)(us-west-1) 查看 AMI ID 查看 AMI ID
非洲(开普敦)(af-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(香港)(ap-east-1) 查看 AMI ID 查看 AMI ID
亚太地区(孟买)(ap-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(东京)(ap-northeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(首尔)(ap-northeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(大阪)(ap-northeast-3) 查看 AMI ID 查看 AMI ID
亚太地区(新加坡)(ap-southeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(悉尼)(ap-southeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(雅加达)(ap-southeast-3
注意

如果 SSM 参数当前不可用,您可以从 Amazon EC2 控制台搜索中对 AMI ID 进行硬编码(基于 Windows/Kube 变体)。在 Launch an instance(启动实例)页面上,搜索“eks windows”,然后切换到 Community AMIs(社区 AMI)选项卡。

查看 AMI ID 查看 AMI ID
加拿大(中部)(ca-central-1) 查看 AMI ID 查看 AMI ID
中国(北京)(cn-north-1) 查看 AMI ID 查看 AMI ID
中国(宁夏)(cn-northwest-1) 查看 AMI ID 查看 AMI ID
欧洲(法兰克福)(eu-central-1) 查看 AMI ID 查看 AMI ID
欧洲(爱尔兰)(eu-west-1) 查看 AMI ID 查看 AMI ID
欧洲(伦敦)(eu-west-2) 查看 AMI ID 查看 AMI ID
欧洲(米兰)(eu-south-1) 查看 AMI ID 查看 AMI ID
欧洲(巴黎)(eu-west-3) 查看 AMI ID 查看 AMI ID
欧洲(斯德哥尔摩)(eu-north-1) 查看 AMI ID 查看 AMI ID
中东(巴林)(me-south-1) 查看 AMI ID 查看 AMI ID
南美洲(圣保罗)(sa-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国东部)(us-gov-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国西部)(us-gov-west-1) 查看 AMI ID 查看 AMI ID
1.20
Kubernetes 版本 1.20
Amazon Web Services 区域 Windows Server 2019 Core Windows Server 2019 Full
美国东部(俄亥俄)(us-east-2) 查看 AMI ID 查看 AMI ID
美国东部(弗吉尼亚北部)(us-east-1) 查看 AMI ID 查看 AMI ID
美国西部(俄勒冈)(us-west-2) 查看 AMI ID 查看 AMI ID
美国西部(加利福尼亚北部)(us-west-1) 查看 AMI ID 查看 AMI ID
非洲(开普敦)(af-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(香港)(ap-east-1) 查看 AMI ID 查看 AMI ID
亚太地区(孟买)(ap-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(东京)(ap-northeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(首尔)(ap-northeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(大阪)(ap-northeast-3) 查看 AMI ID 查看 AMI ID
亚太地区(新加坡)(ap-southeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(悉尼)(ap-southeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(雅加达)(ap-southeast-3
注意

如果 SSM 参数当前不可用,您可以从 Amazon EC2 控制台搜索中对 AMI ID 进行硬编码(基于 Windows/Kube 变体)。在 Launch an instance(启动实例)页面上,搜索“eks windows”,然后切换到 Community AMIs(社区 AMI)选项卡。

查看 AMI ID 查看 AMI ID
加拿大(中部)(ca-central-1) 查看 AMI ID 查看 AMI ID
中国(北京)(cn-north-1) 查看 AMI ID 查看 AMI ID
中国(宁夏)(cn-northwest-1) 查看 AMI ID 查看 AMI ID
欧洲(法兰克福)(eu-central-1) 查看 AMI ID 查看 AMI ID
欧洲(爱尔兰)(eu-west-1) 查看 AMI ID 查看 AMI ID
欧洲(伦敦)(eu-west-2) 查看 AMI ID 查看 AMI ID
欧洲(米兰)(eu-south-1) 查看 AMI ID 查看 AMI ID
欧洲(巴黎)(eu-west-3) 查看 AMI ID 查看 AMI ID
欧洲(斯德哥尔摩)(eu-north-1) 查看 AMI ID 查看 AMI ID
中东(巴林)(me-south-1) 查看 AMI ID 查看 AMI ID
南美洲(圣保罗)(sa-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国东部)(us-gov-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国西部)(us-gov-west-1) 查看 AMI ID 查看 AMI ID
1.19
Kubernetes 版本 1.19
Amazon Web Services 区域 Windows Server 2019 Core Windows Server 2019 Full
美国东部(俄亥俄)(us-east-2) 查看 AMI ID 查看 AMI ID
美国东部(弗吉尼亚北部)(us-east-1) 查看 AMI ID 查看 AMI ID
美国西部(俄勒冈)(us-west-2) 查看 AMI ID 查看 AMI ID
美国西部(加利福尼亚北部)(us-west-1) 查看 AMI ID 查看 AMI ID
非洲(开普敦)(af-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(香港)(ap-east-1) 查看 AMI ID 查看 AMI ID
亚太地区(孟买)(ap-south-1) 查看 AMI ID 查看 AMI ID
亚太地区(东京)(ap-northeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(首尔)(ap-northeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(大阪)(ap-northeast-3) 查看 AMI ID 查看 AMI ID
亚太地区(新加坡)(ap-southeast-1) 查看 AMI ID 查看 AMI ID
亚太地区(悉尼)(ap-southeast-2) 查看 AMI ID 查看 AMI ID
亚太地区(雅加达)(ap-southeast-3
注意

如果 SSM 参数当前不可用,您可以从 Amazon EC2 控制台搜索中对 AMI ID 进行硬编码(基于 Windows/Kube 变体)。在 Launch an instance(启动实例)页面上,搜索“eks windows”,然后切换到 Community AMIs(社区 AMI)选项卡。

查看 AMI ID 查看 AMI ID
加拿大(中部)(ca-central-1) 查看 AMI ID 查看 AMI ID
中国(北京)(cn-north-1) 查看 AMI ID 查看 AMI ID
中国(宁夏)(cn-northwest-1) 查看 AMI ID 查看 AMI ID
欧洲(法兰克福)(eu-central-1) 查看 AMI ID 查看 AMI ID
欧洲(爱尔兰)(eu-west-1) 查看 AMI ID 查看 AMI ID
欧洲(伦敦)(eu-west-2) 查看 AMI ID 查看 AMI ID
欧洲(米兰)(eu-south-1) 查看 AMI ID 查看 AMI ID
欧洲(巴黎)(eu-west-3) 查看 AMI ID 查看 AMI ID
欧洲(斯德哥尔摩)(eu-north-1) 查看 AMI ID 查看 AMI ID
中东(巴林)(me-south-1) 查看 AMI ID 查看 AMI ID
南美洲(圣保罗)(sa-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国东部)(us-gov-east-1) 查看 AMI ID 查看 AMI ID
Amazon GovCloud(美国西部)(us-gov-west-1) 查看 AMI ID 查看 AMI ID

Amazon EKS Windows AMI 发布日历

下表列出了 Amazon EKS 上的 Windows 版本的发布日期和支持终止日期。如果终止日期为空,则是因为相应版本仍受支持。

Windows 版本 Amazon EKS 版本 Amazon EKS 支持终止
Windows Server 20H2 Core 8/12/2021 8/9/2022
Windows Server 2004 Core 8/19/2020 12/14/2021
Windows Server 2019 Core 10/7/2019
Windows Server 2019 Full 10/7/2019
Windows Server 1909 Core 10/7/2019 12/8/2020

引导脚本配置参数

创建 Windows 节点时,节点上有一个允许配置不同参数的脚本。根据您的设置,可以在节点上类似于以下位置:C:\Program Files\Amazon\EKS\Start-EKSBootstrap.ps1 找到此脚本。此脚本包含以下参数:

  • -EKSClusterName:指定此 Worker 节点要加入的 Amazon EKS 集群名称。

  • -KubeletExtraArgs:为 kubelet 指定额外的参数(可选)。

  • -KubeProxyExtraArgs:为 kube-proxy 指定额外的参数(可选)。

  • -APIServerEndpoint:指定 Amazon EKS 集群 API 服务器端点(可选)。仅在与 -Base64ClusterCA 一起使用时才有效。绕过调用 Get-EKSCluster

  • -Base64ClusterCA:指定 base64 编码的集群 CA 内容(可选)。仅在与 -APIServerEndpoint 一起使用时才有效。绕过调用 Get-EKSCluster

  • -DNSClusterIP:覆盖用于集群内 DNS 查询的 IP 地址(可选)。基于主接口的 IP 地址,默认值为 10.100.0.10172.20.0.10

  • -ContainerRuntime – 指定要在节点上使用的容器运行时。

启用 containerd 运行时间引导标记

Amazon EKS 优化版 Windows AMI 包含可选的引导标记,用于启用 containerd 运行时间。该功能为您提供了迁移到 containerd 的清晰路径。Amazon EKS 将从 Kubernetes 版本 1.24 发布起,结束对 Docker 的支持。有关更多信息,请参阅Amazon EKS 即将结束对 Dockershim 的支持

在 Kubernetes 版本 1.24 之前,容器运行时支持的值为 dockercontainerd,在使用 eksctl 或 Amazon Web Services Management Console 启动 Windows 节点时指定。

  • 如果指定的值为 docker 且 Amazon EKS 版本为 1.23 或更早版本,则将 Docker 作为节点上的运行时。

  • 如果指定的值为 containerd 且 Amazon EKS 版本高于 1.20,则选中 containerd 作为运行时。如果 Amazon EKS 版本低于 1.21,则引导会失败,节点无法加入集群。

  • 如果指定了任何其他值,则引导程序将失败,节点无法加入集群。

  • 如果未指定此标记,则选择容器运行时的默认值。对于 Amazon EKS 版本 1.23 和更早版本,默认值为 Docker。对于 1.24 和更高版本的集群,默认值为 containerd

在启动 Amazon EKS 集群中的 Windows 节点时,请按照 启动自行管理的 Windows 节点 中的步骤操作,使用 containerd 运行时的 Windows 自行管理的节点可以使用 eksctl 或 Amazon Web Services Management Console 启动。

eksctl

要使用 eksctl 启用 containerd 运行时

对于 Windows 自行管理的节点,可以在创建新节点组时在配置中指定容器运行时。您可以使用以下 test-windows-with-containerd.yaml 作为参考。

注意

您必须使用 eksctl 版本 0.95.0 或更高版本以在配置文件中使用 containerRuntime 设置。

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: windows-containerd-cluster region: us-west-2 version: '1.21' nodeGroups: - name: windows-ng instanceType: m5.2xlarge amiFamily: WindowsServer2019FullContainer volumeSize: 100 minSize: 2 maxSize: 3 containerRuntime: containerd - name: linux-ng amiFamily: AmazonLinux2 minSize: 2 maxSize: 3

然后,可以使用以下命令创建节点组。

eksctl create cluster -f test-windows-with-containerd.yaml

或者,您也可以将 EKS_CONTAINER_RUNTIME 环境变量指定为 eksctl 配置文件中的预引导命令。

注意

eksctl 版本 0.95 不支持适用于 Windows 节点的 preBootstrapCommands

preBootstrapCommands: - Invoke-Expression -Command '[Environment]::SetEnvironmentVariable("EKS_CONTAINER_RUNTIME", "containerd", [System.EnvironmentVariableTarget]::Machine)'

有关更多信息,请参阅 eksctl 文档中的从配置文件创建节点组定义 containerd 运行时配置文件架构

Amazon Web Services Management Console

要使用 Amazon Web Services Management Console 启用 containerd 运行时

在 Amazon CloudFormation 模板中,有一个名为 BootstrapArguments 的参数,它可用于将额外的参数传递给引导脚本。名为 ContainerRuntime 的参数可用于在节点上选择特定的运行时间。

BootstrapArguments 中指定以下内容以启用 containerd 运行时。

-ContainerRuntime containerd