

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 使用 Image Builder 构建自定义 Windows AMI
<a name="eks-custom-ami-windows"></a>

您可以通过以下任一方式，使用 EC2 Image Builder 创建自定义 Amazon EKS 优化版 Windows AMI：
+  [使用 Amazon EKS 优化版 Windows AMI 作为基础](#custom-windows-ami-as-base) 
+  [使用 Amazon 托管的构建组件](#custom-windows-ami-build-component) 

无论采用哪种方式，您必须创建自己的 Image Builder 配方。有关更多信息，请参阅《Image Builder 用户指南》中的[创建映像配方的新版本](https://docs.amazonaws.cn/imagebuilder/latest/userguide/create-image-recipes.html)。

**重要**  
以下 **Amazon 托管的** `eks` 组件包括 `CVE-2024-5321` 的补丁。  
 `1.28.2` 和更高版本
 `1.29.2` 和更高版本
 `1.30.1` 和更高版本
所有 Kubernetes 1.31 及更高版本

## 使用 Amazon EKS 优化版 Windows AMI 作为基础
<a name="custom-windows-ami-as-base"></a>

推荐使用该选项构建自定义 Windows AMI。我们提供的 Amazon EKS 优化版 Windows AMI 比 Amazon 托管的构建组件更新得更频繁。

1. 开启新的 Image Builder 配方。

   1. 打开位于 https://console.aws.amazon.com/imagebuilder 的 EC2 Image Builder 控制台。

   1. 在左侧导航窗格中，选择**映像配方**。

   1. 选择**创建映像配方**。

1. 在**配方详细信息**部分中，输入**名称**和**版本**。

1. 在**基础映像**部分指定 Amazon EKS 优化版 Windows AMI 的 ID。

   1. 选择**输入自定义 AMI ID**。

   1. 检索所需 Windows 操作系统版本的 AMI ID。有关更多信息，请参阅 [检索建议的 Microsoft Windows AMI ID](retrieve-windows-ami-id.md)。

   1. 输入自定义 **AMI ID**。如果找不到 AMI ID，请确保 AMI ID 的 Amazon 区域与控制台右上角显示的 Amazon 区域相匹配。

1. （可选）要获取最新的安全更新，请在**构建组件 - **部分中添加 `update-windows` 组件。

   1. 在**按名称查找组件**搜索框右侧的下拉列表中，选择 **Amazon 托管**。

   1. 在**按名称查找组件**搜索框中，输入 `update-windows`。

   1. 选中 **`update-windows`** 搜索结果的复选框。此组件包括操作系统的最新 Windows 补丁。

1. 使用所需配置完成剩余的映像配方输入。有关更多信息，请参阅《Image Builder 用户指南》中的[创建新的映像配方版本（控制台）](https://docs.amazonaws.cn/imagebuilder/latest/userguide/create-image-recipes.html#create-image-recipe-version-console)。

1. 选择**创建配方**。

1. 在新的或现有的映像管道中使用新的映像配方。映像管道成功运行后，您的自定义 AMI 将作为输出映像列出并随时可用。有关更多信息，请参阅[使用 EC2 Image Builder 控制台向导创建映像管道](https://docs.amazonaws.cn/imagebuilder/latest/userguide/start-build-image-pipeline.html)。

## 使用 Amazon 托管的构建组件
<a name="custom-windows-ami-build-component"></a>

当使用 Amazon EKS 优化版 Windows AMI 作为基本操作系统不可行时，您可以改用 Amazon 托管的构建组件。此选项可能落后于支持的最新 Kubernetes 版本。

1. 开启新的 Image Builder 配方。

   1. 打开位于 https://console.aws.amazon.com/imagebuilder 的 EC2 Image Builder 控制台。

   1. 在左侧导航窗格中，选择**映像配方**。

   1. 选择**创建映像配方**。

1. 在**配方详细信息**部分中，输入**名称**和**版本**。

1. 在**基础映像**部分中确定您将使用哪个选项来创建自定义 AMI：
   +  **选择托管映像** – 为您的**映像操作系统（OS）**选择 **Windows**。然后，为**映像来源**选择以下选项之一。
     +  **快速入门（Amazon 托管）**– 在**映像名称**下拉列表中，选择一个 Amazon EKS 支持的 Windows Server 版本。有关更多信息，请参阅 [使用优化版 Windows AMI 创建节点](eks-optimized-windows-ami.md)。
     +  **我拥有的映像** – 对于**映像名称**，请选择具有自带许可证的自有映像的 ARN。您提供的镜像尚未安装 Amazon EKS 组件。
   +  **输入自定义 AMI ID** – 对于 AMI ID，请输入具有自带许可证的 AMI 的 ID。您提供的镜像尚未安装 Amazon EKS 组件。

1. 在**构建组件 – Windows** 部分中，执行以下操作：

   1. 在**按名称查找组件**搜索框右侧的下拉列表中，选择 **Amazon 托管**。

   1. 在**按名称查找组件**搜索框中，输入 `eks`。

   1. 选中**`eks-optimized-ami-windows`** 搜索结果的复选框，即使返回的结果可能不是您想要的版本。

   1. 在**按名称查找组件**搜索框中，输入 `update-windows`。

   1. 选中 **update-windows** 搜索结果的复选框。此组件包括操作系统的最新 Windows 补丁。

1. 在**选定的组件**部分中，执行以下操作：

   1. 选择 **`eks-optimized-ami-windows`** 的**版本控制选项**。

   1. 选择**指定组件版本**。

   1. 在**组件版本**字段中，输入 *version.x*，将 *version* 替换为支持的 Kubernetes 版本。在版本号部分输入 *x* 表示使用与您明确定义的版本相应部分也相符的最新组件版本。注意控制台输出，因为它会就您所需版本是否作为托管组件提供给出建议。请记住，最新 Kubernetes 版本可能不适用于构建组件。有关可用版本的更多信息，请参阅 [检索有关 `eks-optimized-ami-windows` 组件版本的信息](#custom-windows-ami-component-versions)。

1. 使用所需配置完成剩余的映像配方输入。有关更多信息，请参阅《Image Builder 用户指南》中的[创建新的映像配方版本（控制台）](https://docs.amazonaws.cn/imagebuilder/latest/userguide/create-image-recipes.html#create-image-recipe-version-console)。

1. 选择**创建配方**。

1. 在新的或现有的映像管道中使用新的映像配方。映像管道成功运行后，您的自定义 AMI 将作为输出映像列出并随时可用。有关更多信息，请参阅[使用 EC2 Image Builder 控制台向导创建映像管道](https://docs.amazonaws.cn/imagebuilder/latest/userguide/start-build-image-pipeline.html)。

## 检索有关 `eks-optimized-ami-windows` 组件版本的信息
<a name="custom-windows-ami-component-versions"></a>

您可以检索有关每个组件所安装内容的特定信息。例如，您可以验证安装了哪个 `kubelet` 版本。这些组件在 Amazon EKS 支持的 Windows 操作系统版本上进行功能测试。有关更多信息，请参阅 [发布日历](eks-optimized-windows-ami.md#windows-ami-release-calendar)。未列为受支持或已进入终止支持状态的任何其他 Windows 操作系统版本可能与组件不兼容。

1. 打开位于 https://console.aws.amazon.com/imagebuilder 的 EC2 Image Builder 控制台。

1. 在左侧导航窗格中选择**组件**。

1. 在**按名称查找组件**搜索框右侧的下拉列表中，将**我拥有的**更改为**快速入门（Amazon 托管）**。

1. 在 **Find components by name（按名称查找组件）**框中，输入 `eks`。

1. （可选）如果您使用的是最新版本，请选择两次，按降序对**版本**列进行排序。

1. 选择具有所需版本的 **`eks-optimized-ami-windows`** 链接。

结果页面中的**描述**显示了具体信息。