Amazon EKS 优化版 Windows AMI
Windows Amazon EKS 优化版 AMI 是基于 Windows Server 2019 和 Windows Server 2022 构建的。它们被配置作为 Amazon EKS 节点的基本映像。默认情况下,AMI 包括以下组件:
-
kubelet
-
kube-proxy
-
Amazon IAM 身份验证器
-
CSI 代理
-
Docker(Amazon EKS 版本
1.23
及更早版本)重要
对于包括 Docker 组件的 Windows Amazon EKS 优化 AMI 版本,在 2022 年 9 月或以后发布的版本包括 Docker CE(Moby 项目)运行时,而不是 Docker EE (Mirantis) 运行时。有关更多信息,请参阅 Amazon ECS 和 Amazon EKS 优化的适用于 MicrosoftWindows Server 的 Amazon 机器映像现在使用 Docker CE 运行时
。 -
containerd
(Amazon EKS 版本1.21
和更高版本)
注意
您可以使用 Microsoft 安全更新指南
Amazon EKS 提供了已针对 Windows 容器进行了优化的 AMI,包括以下变体:
-
Amazon EKS 优化版 Windows Server 2019 Core AMI
-
Amazon EKS 优化版 Windows Server 2019 Full AMI
-
Amazon EKS 优化版 Windows Server 2022 Core AMI
-
Amazon EKS 优化版 Windows Server 2022 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 和 Windows Server 2022 均是长期服务通道(LTSC)版本,版本 20H2 是半年通道(SAC)版本。我们不再支持 SAC 版本。有关这些版本类型的详细信息,请参阅 Windows 文档中的 Microsoft 服务器版本信息
- 1.25
-
- 1.24
-
- 1.23
-
- 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-south-2
)查看 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
)查看 AMI ID 查看 AMI ID 亚太地区(墨尔本)( ap-southeast-4
)查看 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-central-2
)查看 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-south-2
)查看 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 中东(阿联酋)( me-central-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-south-2
)查看 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
)查看 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-central-2
)查看 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-south-2
)查看 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 中东(阿联酋)( me-central-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
)查看 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 2022 Core | 10/17/2022 | |
Windows Server 2022 Full | 10/17/2022 | |
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.10
或172.20.0.10
。 -
-ContainerRuntime
– 指定要在节点上使用的容器运行时。 -
-ServiceCIDR
– 覆盖从中寻址集群服务的 Kubernetes 服务 IP 地址范围。基于主接口的 IP 地址,默认值为172.20.0.0/16
或10.100.0.0/16
。
启用 containerd
运行时间引导标记
对于 Kubernetes 版本 1.23 或更高版本,您可以使用可选的引导标志,为 Amazon EKS 优化版 Windows AMI 启用 containerd
运行时。在更新到版本 1.24
或更高版本时,该功能提供迁移到 containerd
的清晰路径。Amazon EKS 将从 Kubernetes 版本 1.24
发布起,结束对 Docker 的支持。有关更多信息,请参阅Amazon EKS 结束了对 Dockershim 的支持。
对于 Amazon EKS 版本 1.23
或早期版本,容器运行时支持的值为 docker
和 containerd
。容器运行时在使用 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注意
从
eksctl
版本0.95
开始,您无法再使用preBootstrapCommands
为 Windows 节点配置ContainerRuntime
。有关更多信息,请参阅
eksctl
文档中的从配置文件创建节点组、定义 containerd 运行时 和配置文件架构 。 - Amazon Web Services Management Console
-
要使用 Amazon Web Services Management Console 启用
containerd
运行时在 Amazon CloudFormation 模板中,有一个名为
BootstrapArguments
的参数,它可用于将额外的参数传递给引导脚本。名为ContainerRuntime
的参数可用于在节点上选择特定的运行时间。在
BootstrapArguments
中指定以下内容以启用containerd
运行时。-ContainerRuntime containerd
通过 eksctl
启动自行管理的 Windows Server 2022 节点
Amazon EKS 优化版 Windows Server 2022 AMI 可用于 Kubernetes 版本 1.23 及更高版本。您可以使用以下
作为参考,将 Windows Server 2022 作为自行管理的节点运行。test-windows-2022
.yaml
注意
您必须使用 eksctl
版本 0.116.0
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: windows-2022-cluster region: us-west-2 version: '1.23' nodeGroups: - name: windows-ng instanceType: m5.2xlarge amiFamily: WindowsServer2022FullContainer volumeSize: 100 minSize: 2 maxSize: 3 - name: linux-ng amiFamily: AmazonLinux2 minSize: 2 maxSize: 3
然后,可以使用以下命令创建节点组。
eksctl create cluster -f
test-windows-2022
.yaml