Amazon EKS 优化版 Windows AMI - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

Amazon EKS 优化版 Windows AMI

Windows Amazon EKS 优化版 AMI 是基于 Windows Server 2019 和 Windows Server 2022 构建的。它们被配置作为 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 2022 Core AMI

  • Amazon EKS 优化版 Windows Server 2022 Full AMI

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

  • 为了确保您在默认情况下安装了最新的安全更新,Amazon EKS 将维持最近 4 个月的经优化的 Windows AMI。自首次发布之日起,每个新 AMI 的可用期为 4 个月。在此期限之后,较旧的 AMI 将变为私有且不能再访问。我们鼓励使用最新的 AMI,以避免出现安全漏洞,避免无法访问已达到其支持生命周期尽头的旧 AMI。虽然我们不能保证可以提供对已设为私有的 AMI 的访问权限,但您可以通过向 AWS Support 提交服务单来请求访问权限。

发布日历

下表列出了 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 找到此脚本。您可以通过将自定义参数值指定为引导脚本的参数。例如,您可以更新启动模板中的用户数据。有关更多信息,请参阅 Amazon EC2 用户数据

此脚本包含以下命令行参数:

  • -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

  • -ServiceCIDR – 覆盖从中寻址集群服务的 Kubernetes 服务 IP 地址范围。基于主接口的 IP 地址,默认值为 172.20.0.0/1610.100.0.0/16

  • -ExcludedSnatCIDRs – 要从源网络地址转换(SNAT)中排除的 IPv4 CIDR 列表。这意味着,VPC 可寻址的容器组(pod)私有 IP 不会转换为用于出站流量的实例 ENI 主 IPv4 地址的 IP 地址。默认情况下,系统会添加 Amazon EKS Windows 节点的 VPC 的 IPv4 CIDR。为该参数指定 CIDR 还会另外排除所指定的 CIDR。有关更多信息,请参阅 适用于 Pods 的 SNAT

除了命令行参数之外,您还可以指定一些环境变量参数。指定命令行参数时,它优先于相应的环境变量。环境变量应定义为机器(或系统)作用范围,因为引导脚本只会读取机器范围的变量。

该脚本考虑以下环境变量:

  • SERVICE_IPV4_CIDR — 有关定义,请参阅 ServiceCIDR 命令行参数。

  • EXCLUDED_SNAT_CIDRS — 应为以逗号分隔的字符串。有关定义,请参阅 ExcludedSnatCIDRs 命令行参数。

通过 eksctl 启动自行管理的 Windows Server 2022 节点

您可以使用以下 test-windows-2022.yaml 作为参考,将 Windows Server 2022 作为自行管理的节点运行。请将每个 example value 替换为您自己的值。

注意

您必须使用 eksctl 版本 0.116.0 或更高版本来运行自行管理的 Windows Server 2022 节点。

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: windows-2022-cluster region: region-code version: '1.30' 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

gMSA 身份验证支持

Amazon EKS Windows Pods 允许不同类型的群组托管服务账户(gMSA)身份验证。

缓存的容器映像

Amazon EKS Windows 优化版 AMI 缓存了某些容器映像,用于 containerd 运行时。使用 Amazon 托管的构建组件构建自定义 AMI 时,系统会缓存容器映像。有关更多信息,请参阅 使用 Amazon 托管的构建组件

以下缓存的容器映像适用于 containerd 运行时系统:

  • amazonaws.com/eks/pause-windows

  • mcr.microsoft.com/windows/nanoserver

  • mcr.microsoft.com/windows/servercore

更多信息

有关使用 Amazon EKS 优化版 Windows AMI 的更多信息,请参阅以下部分: