帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
使用启动模板自定义托管式节点
为实现最高级别的自定义,您可以根据此页面上的步骤使用自己的启动模板部署托管节点。使用启动模板可以实现以下功能:在部署节点期间提供引导参数(例如,额外的 kubelet
如果您在首次创建托管节点组时提供自己的启动模板,则以后也将具有更大的灵活性。只要使用自己的启动模板部署托管节点组,您就可以使用同一启动模板的不同版本对其进行迭代更新。将节点组更新为启动模板的其他版本时,将回收组中的所有节点,以匹配指定启动模板版本的新配置。
托管式节点组始终部署用于 Amazon EC2 Auto Scaling 组的启动模板。当您不提供启动模板时,Amazon EKS API 会在您的账户中自动创建一个具有默认值的模板。但是,我们建议不要修改自动生成的启动模板。而且,无法直接更新不使用自定义启动模板的现有节点组。相反,您必须使用自定义启动模板创建新的节点组才能执行此操作。
启动模板配置基础知识
您可以使用 AWS 管理控制台、AWS CLI 或 AWS SDK 创建 Amazon EC2 Auto Scaling 启动模板。有关更多信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的为自动扩缩组创建启动模板。启动模板中的某些设置类似于用于托管节点配置的设置。使用启动模板部署或更新节点组时,必须在节点组配置或启动模板中指定某些设置。不要在两个位置都指定一个设置。如果某个设置出现在错误的位置,则创建或更新节点组之类的操作将失败。
下表列出启动模板中禁止的设置,它还列出托管节点组配置中所需的类似设置(如果有)。列出的设置是显示在控制台中的设置。它们在 AWS CLI 和 SDK 中可能具有相似但不同的名称。
| 启动模板 - 已禁止 | Amazon EKS 节点组配置 |
|---|---|
|
Network interfaces(网络接口)(Add network interface(添加网络接口))下的Subnet(子网) |
Specify networking(指定联网)页面上 Node group network configuration(节点组网络配置)下的 Subnets(子网) |
|
Advanced details(高级详细信息)下的 IAM instance profile(IAM 实例配置文件) |
Configure Node group(配置节点组)页面上 Node group configuration(节点组配置)下的 Node IAM role(节点 IAM 角色) |
|
Advanced details(高级详细信息)下的 Shutdown behavior(关机行为)和 Stop - Hibernate behavior(停止 - 休眠行为)。在启动模板中,对于两个设置都保留默认的不包含在启动模板设置中。 |
无等效项 Amazon EKS 必须控制实例生命周期,而不是自动扩缩组。 |
下表列出托管节点组配置中禁止的设置,还列出启动模板中所需的类似设置(如果有)。列出的设置是显示在控制台中的设置。它们在 AWS CLI 和 SDK 中可能有类似的名称。
| Amazon EKS 节点组配置 – 已禁止 | 启动模板 |
|---|---|
|
(仅当在启动模板中指定了自定义 AMI 时)设置计算和扩缩配置页面上节点组计算配置下的 AMI 类型 – 控制台显示已在启动模板中指定和指定的 AMI ID。 如果未在启动模板中指定应用程序和操作系统映像(Amazon 机器映像),则可以在节点组配置中选择 AMI。 |
Launch template contents(启动模板内容)下的 Application and OS Images (Amazon Machine Image)(应用程序和操作系统映像(Amazon 机器映像))– 如果您有以下任一要求,则必须指定 ID:
|
|
Set compute and scaling configuration(设置计算和扩展配置)页面上 Node group compute configuration(节点组计算配置)下的 Disk size(磁盘大小)– 控制台显示 Specified in launch template(已在启动模板中指定)。 |
Storage (Volumes)(存储(卷))(Add new volume(添加新卷))下的 Size(大小)。您必须在启动模板中指定此项。 |
|
Specify Networking(指定网络)页面上 Node group configuration(节点组配置)下的 SSH key pair(SSH 密钥对)– 控制台显示在启动模板中指定的密钥或显示 Not specified in launch template(未在启动模板中指定)。 |
Key pair (login)(密钥对(登录))下的 Key pair name(密钥对名称。 |
|
在使用启动模板时,您无法指定允许远程访问的源安全组。 |
实例的 Network settings(网络设置)下的 Security groups(安全组),或者 Network interfaces(网络接口)(Add network interface(添加网络接口))下的 Security groups(安全组),但不能同时兼具。有关更多信息,请参阅 使用自定义安全组。 |
注意
-
如果使用启动模板部署节点组,请在启动模板的 Launch template contents(启动模板内容)下指定 0 或 1 个 Instance type(实例类型)。您也可以为控制台 Set compute and scaling configuration(设置计算和扩缩配置)页面的 Instance types(实例类型)指定 0-20 个实例类型。或者,您可以使用其他使用 Amazon EKS API 的工具来执行此操作。如果您在启动模板中指定实例类型,并使用该启动模板部署节点组,则无法在控制台中或通过使用 Amazon EKS API 的其它工具指定任何实例类型。如果没有在启动模板、控制台中或通过使用 Amazon EKS API 的其它工具指定实例类型,则使用
t3.medium实例类型。如果您的节点组使用 Spot 容量类型,我们建议您使用控制台指定多个实例类型。有关更多信息,请参阅 托管节点组容量类型。 -
如果部署到节点组的任何容器使用实例元数据服务版本 2,请确保在启动模板中将Metadata response hop limit(元数据响应跃点限制)设置为
2。有关更多信息,请参阅《Amazon EC2 用户指南》中的实例元数据和用户数据。 -
启动模板不支持
InstanceRequirements功能,借助该功能可以灵活选择实例类型。
为 Amazon EC2 实例添加标签
您可以使用启动模板的 TagSpecification 参数来指定将哪些标签应用于节点组中的 Amazon EC2 实例。调用 CreateNodegroup 或 UpdateNodegroupVersion API 的 IAM 实体必须具有 ec2:RunInstances 和 ec2:CreateTags 的权限,并且必须将标签添加到启动模板中。
使用自定义安全组
您可以使用启动模板指定自定义 Amazon EC2 安全组以应用到节点组中的实例。这可以在实例级安全组参数中,也可以作为网络接口配置参数的一部分。但是,您无法创建同时指定实例级安全组和网络接口安全组的启动模板。请考虑以下适用于为托管节点组使用自定义安全组的条件:
-
使用 AWS 管理控制台时,Amazon EKS 仅允许使用具有单个网络接口规范的启动模板。
-
预设情况下,Amazon EKS 将集群安全组应用于节点组中的实例,以便于节点和控制层面之间的通信。如果您使用前面提到的任一选项在启动模板中指定自定义安全组,则 Amazon EKS 不会添加集群安全组。因此,您必须确保安全组的入站和出站规则启用了与集群端点的通信。如果您的安全组规则不正确,则 worker 节点无法加入集群。有关安全组规则的更多信息,请参阅 查看集群的 Amazon EKS 安全组要求。
-
如果需要对节点组中的实例进行 SSH 访问,请确保包含允许该访问的安全组。
Amazon EC2 用户数据
启动模板包括自定义用户数据的部分。您可以在此部分为节点组指定配置设置,而无需手动创建单个自定义 AMI。有关 Bottlerocket 可用设置的更多信息,请参阅 GitHub 上的使用用户数据
在启动实例时,您可以使用 cloud-init 在启动模板中提供 Amazon EC2 用户数据。有关更多信息,请参阅 cloud-init 文档
启动模板中用于托管节点组的 Amazon EC2 用户数据必须采用 MIME 分段归档kubelet 的命令。这是作为 Amazon EKS 合并的用户数据的一部分执行的。某些 kubelet 参数(例如节点上的设置标签)可以直接通过托管节点组 API 进行配置。
注意
如果需要高级 kubelet 自定义,包括手动启动或传入自定义配置参数,请参阅 指定 AMI。如果在启动模板中指定自定义 AMI ID,Amazon EKS 不会合并用户数据。
以下详细信息提供有关用户数据部分的更多信息。
- Amazon Linux 2 用户数据
-
您可以将多个用户数据块合并到一个 MIME 分段文件中。例如,您可以将配置 Docker 守护进程的云 Boothook 与安装自定义软件包的用户数据 Shell 脚本合并。MIME 分段文件包含以下组成部分:
-
内容类型和段边界声明 -
Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" -
MIME 版本声明 -
MIME-Version: 1.0 -
一个或多个用户数据块,其包含以下组成部分:
-
开口边界,表示用户数据块的开头 -
--==MYBOUNDARY== -
数据块的内容类型声明:
Content-Type: text/cloud-config; charset="us-ascii"。有关内容类型的更多信息,请参阅 cloud-init文档。 -
用户数据的内容(例如 Shell 命令或
cloud-init指令的列表)。 -
封闭边界,表示 MIME 分段文件的结尾:
--==MYBOUNDARY==--
以下是 MIME 分段文件的示例,您可以用它来创建您自己的文件。
-
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo "Running custom user data script" --==MYBOUNDARY==-- -
- Amazon Linux 2023 用户数据
-
Amazon Linux 2023(AL2023)引入了使用 YAML 配置架构的新节点初始化流程
nodeadm。如果您使用的是自行管理的节点组或带有启动模板的 AMI,则在创建新节点组时,现在需要明确提供其它集群元数据。以下是最低必需参数的示例,其中 apiServerEndpoint、certificateAuthority和服务cidr是必需的:--- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16通常,您将在用户数据中设置此配置,无论是按原样设置还是嵌入 MIME 多部分文档中:
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" --BOUNDARY Content-Type: application/node.eks.aws --- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: [...] --BOUNDARY--在 AL2 中,来自这些参数的元数据是从 Amazon EKS
DescribeClusterAPI 调用中发现的。使用 AL2023,这种行为发生了变化,因为在大型节点纵向扩展期间,额外的 API 调用有节流风险。如果您使用的是没有启动模板的托管节点组或者 Karpenter,则此更改不会对您产生影响。有关certificateAuthority和服务cidr的更多信息,请参阅《Amazon EKS API 参考》中的DescribeCluster。以下是一个完整的 AL2023 用户数据示例,该实例将用于自定义节点(例如安装程序包或预缓存容器映像)的 shell 脚本与所需的
nodeadm配置进行组合。该示例展示了常见的自定义设置,包括:* 安装附加系统程序包 * 预缓存容器影响以缩短容器组(pod)启动时间 * 设置 HTTP 代理配置 * 配置用于节点标记的kubelet标志MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" --BOUNDARY Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash set -o errexit set -o pipefail set -o nounset # Install additional packages yum install -y htop jq iptables-services # Pre-cache commonly used container images nohup docker pull public.ecr.aws/eks-distro/kubernetes/pause:3.2 & # Configure HTTP proxy if needed cat > /etc/profile.d/http-proxy.sh << 'EOF' export HTTP_PROXY="http://proxy.example.com:3128" export HTTPS_PROXY="http://proxy.example.com:3128" export NO_PROXY="localhost,127.0.0.1,169.254.169.254,.internal" EOF --BOUNDARY Content-Type: application/node.eks.aws apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16 kubelet: config: clusterDNS: - 10.100.0.10 flags: - --node-labels=app=my-app,environment=production --BOUNDARY-- - Bottlerocket 用户数据
-
Bottlerocket 采用 TOML 格式构建用户数据。您可以提供要与 Amazon EKS 提供的用户数据合并的用户数据。例如,您可以提供额外的
kubelet设置。[settings.kubernetes.system-reserved] cpu = "10m" memory = "100Mi" ephemeral-storage= "1Gi"有关支持设置的更多信息,请参阅 GitHub 上的 Bottlerocket 文档
。您可以在用户数据中配置节点标签和污点。但是,我们建议在节点组中对其进行配置。在您这样做时,Amazon EKS 应用这些配置。 合并用户数据时,不保留格式,但内容保持不变。您在用户数据中提供的配置将覆盖 Amazon EKS 配置的任何设置。所以,如果设置
settings.kubernetes.max-pods或settings.kubernetes.cluster-dns-ip,用户数据中的这些值将应用到节点。Amazon EKS 不支持所有有效的 TOM。以下是已知不受支持的格式的列表:
-
引用的键中的引号:
'quoted "value"' = "value" -
值中的转义引号:
str = "I’m a string. \"You can quote me\"" -
混合浮点数和整数:
numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ] -
数组中的混合类型:
contributors = ["foo@example.com", { name = "Baz", email = "baz@example.com " }] -
带引用键的括号标题:
[foo."bar.baz"]
-
- Windows 用户数据
-
Windows 用户数据使用 PowerShell 命令。创建托管节点组时,您的自定义用户数据与 Amazon EKS 托管用户数据结合使用。您的 PowerShell 命令排在首位,然后是托管用户数据命令,所有这些命令都在一个
<powershell></powershell>标签内。重要
创建 Windows 节点组时,Amazon EKS 会更新
aws-authConfigMap,以便允许基于 Linux 的节点加入集群。该服务不会自动配置 Windows AMI 权限。如果使用的是 Windows 节点,则需要通过访问条目 API 或通过直接更新aws-authConfigMap来管理访问权限。有关更多信息,请参阅 在 EKS 集群上部署 Windows 节点。注意
如果在启动模板中未指定 AMI ID,请勿在用户数据中使用 Windows Amazon EKS 引导脚本来配置 Amazon EKS。
用户数据示例如下所示。
<powershell> Write-Host "Running custom user data script" </powershell>
指定 AMI
如果您具有以下任一要求,请在启动模板的 ImageId 字段中指定一个 AMI ID。选择您对其他信息的要求。
Bootstrapping(引导启动)是一个术语,用于描述添加可以在实例启动时运行的命令。例如,引导允许使用额外的 kubeleteksctl 将参数传递给 bootstrap.sh 脚本,无需指定启动模板。或者,您可以在启动模板的用户数据部分中指定信息来实现此目标。
- eksctl 无需指定启动模板
-
创建一个名为
my-nodegroup.yaml的文件,其中包含以下内容。将所有example value替换为您自己的值。--apiserver-endpoint、--b64-cluster-ca和--dns-cluster-ip参数是可选的。但是,定义它们可使bootstrap.sh脚本避免进行describeCluster调用。在私有集群设置或频繁扩展节点的集群中,这是非常有用的。有关bootstrap.sh脚本的更多信息,请参阅 GitHub 上的 bootstrap.sh文件。 -
唯一必需的参数是集群名称(
my-cluster)。 -
要检索
ami-的优化版 AMI ID,请参阅以下部分:1234567890abcdef0 -
要检索您的集群的
certificate-authority,请运行以下命令。aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code -
要检索您的集群的
api-server-endpoint,请运行以下命令。aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code -
--dns-cluster-ip的值是您的服务 CIDR,末尾为.10。要检索您的集群的service-cidr,请运行以下命令。例如,如果返回值为ipv4 10.100.0.0/16,则您的值为10.100.0.10。aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code -
此示例使用包含在 Amazon EKS 优化版 AMI 中的
bootstrap.sh脚本提供一个kubelet参数来设置一个自定义max-pods值。节点组名称的长度不能超过 63 个字符。它必须以字母或数字开头,但也可以包括其余字符的连字符和下划线。有关选择my-max-pods-value的帮助,请参阅 Amazon EKS 建议每种 Amazon EC2 实例类型的最大容器组数量。有关使用托管节点组时如何确定maxPods的更多信息,请参阅 如何确定 maxPods。--- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code managedNodeGroups: - name: my-nodegroup ami: ami-1234567890abcdef0 instanceType: m5.large privateNetworking: true disableIMDSv1: true labels: { x86-al2-specified-mng } overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false对于每一个可用的
eksctlconfig文件选项,请参阅eksctl文档中的配置文件架构。 eksctl实用程序仍会为您创建启动模板,并使用您在config文件中提供的数据填充其用户数据。使用以下命令创建节点组。
eksctl create nodegroup --config-file=my-nodegroup.yaml
-
- 启动模板中的用户数据
-
在启动模板的用户数据部分指定以下信息。将所有
example value替换为您自己的值。--apiserver-endpoint、--b64-cluster-ca和--dns-cluster-ip参数是可选的。但是,定义它们可使bootstrap.sh脚本避免进行describeCluster调用。在私有集群设置或频繁扩展节点的集群中,这是非常有用的。有关bootstrap.sh脚本的更多信息,请参阅 GitHub 上的 bootstrap.sh文件。 -
唯一必需的参数是集群名称(
my-cluster)。 -
要检索您的集群的
certificate-authority,请运行以下命令。aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code -
要检索您的集群的
api-server-endpoint,请运行以下命令。aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code -
--dns-cluster-ip的值是您的服务 CIDR,末尾为.10。要检索您的集群的service-cidr,请运行以下命令。例如,如果返回值为ipv4 10.100.0.0/16,则您的值为10.100.0.10。aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code -
此示例使用包含在 Amazon EKS 优化版 AMI 中的
bootstrap.sh脚本提供一个kubelet参数来设置一个自定义max-pods值。有关选择my-max-pods-value的帮助,请参阅 Amazon EKS 建议每种 Amazon EC2 实例类型的最大容器组数量。有关使用托管节点组时如何确定maxPods的更多信息,请参阅 如何确定 maxPods。MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash set -ex /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false --==MYBOUNDARY==--
-
Bootstrapping(引导启动)是一个术语,用于描述添加可以在实例启动时运行的命令。您可以使用 eksctl 将参数传递给 Start-EKSBootstrap.ps1 脚本,无需指定启动模板。或者,您可以在启动模板的用户数据部分中指定信息来实现此目标。
如果您想指定自定义 Windows AMI ID,请记住以下注意事项:
-
您必须使用启动模板并在用户数据部分提供所需的引导命令。要检索所需的 Windows ID,您可以使用使用优化版 Windows AMI 创建节点中的表。
-
有一些限制和条件。例如,您必须将
eks:kube-proxy-windows添加到您的 AWS IAM 身份验证器配置映射中。有关更多信息,请参阅 指定 AMI ID 时的限制和条件。
在启动模板的用户数据部分指定以下信息。将所有 example value 替换为您自己的值。-APIServerEndpoint、-Base64ClusterCA 和 -DNSClusterIP 参数是可选的。但是,定义它们可使 Start-EKSBootstrap.ps1 脚本避免进行 describeCluster 调用。
-
唯一必需的参数是集群名称(
my-cluster)。 -
要检索您的集群的
certificate-authority,请运行以下命令。aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code -
要检索您的集群的
api-server-endpoint,请运行以下命令。aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code -
--dns-cluster-ip的值是您的服务 CIDR,末尾为.10。要检索您的集群的service-cidr,请运行以下命令。例如,如果返回值为ipv4 10.100.0.0/16,则您的值为10.100.0.10。aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code -
有关更多参数,请参阅 引导脚本配置参数。
注意
如果您使用自定义服务 CIDR,则需要使用
-ServiceCIDR参数进行指定。否则,集群中的容器组(pod)DNS 解析将失败。
<powershell> [string]$EKSBootstrapScriptFile = "$env:ProgramFiles\Amazon\EKS\Start-EKSBootstrap.ps1" & $EKSBootstrapScriptFile -EKSClusterName my-cluster ` -Base64ClusterCA certificate-authority ` -APIServerEndpoint api-server-endpoint ` -DNSClusterIP service-cidr.10 </powershell>
有关更多信息,请参阅《Amazon EC2 用户指南》中的亚马逊机器映像(AMI)。Amazon EKS AMI 构建规范包含用于构建基于 Amazon Linux 的自定义 Amazon EKS AMI 的资源和配置脚本。有关更多信息,请参阅 GitHub 上的 Amazon EKS AMI 构建规范
在与托管式节点组一起使用的启动模板中,AMI ID 不能使用动态参数引用。
重要
-
在指定 AMI 时,Amazon EKS 不会将您的 AMI 中嵌入的 Kubernetes 版本与您的集群控制面板版本进行比对验证。您有责任确保您的自定义 AMI 的 Kubernetes 版本符合 Kubernetes 版本偏斜策略
: -
您节点上的
kubelet版本不得高于您的集群版本 -
您节点上的
kubelet版本必须与集群版本相同,或者比集群版本低 3 个或更少的次要版本(对于 Kubernetes 版本1.28或更高版本);或者比集群版本低 2 个或更少的次要版本(对于 Kubernetes 版本1.27或更低版本)创建存在版本偏差违规情况的托管节点组可能会导致:
-
节点未能加入集群
-
未定义的行为或 API 不兼容
-
集群不稳定或工作负载故障
-
-
指定 AMI 时,Amazon EKS 不会合并任何用户数据。实际上,您要负责提供节点加入集群所需的
bootstrap命令。如果您的节点无法加入集群,那么 Amazon EKSCreateNodegroup和UpdateNodegroupVersion操作也会失败。
指定 AMI ID 时的限制和条件
使用托管节点组指定 AMI ID 所涉及的限制和条件如下:
-
您必须创建一个新的节点组,以便在在启动模板中指定 AMI ID 和不指定 AMI ID 之间进行切换。
-
当有较新的 AMI 版本可用时,控制台中不会通知您。要将节点组更新为更新的 AMI 版本,需要使用更新的 AMI ID 创建新版本的启动模板。然后需要使用新的启动模板版本更新节点组。
-
如果您指定 AMI ID,则无法在 API 中设置以下字段:
-
amiType -
releaseVersion -
version
-
-
如果您指定 AMI ID,则会异步应用 API 中的任何
taints设置。要在节点加入集群之前应用污点,必须使用--register-with-taints命令行标志将污点传递到用户数据中的kubelet。有关更多信息,请参阅 Kubernetes 文档中的 kubelet。 -
为 Windows 托管节点组指定自定义 AMI ID 时,请将
eks:kube-proxy-windows添加到您的 AWS IAM 身份验证器配置映射中。需要执行此操作 DNS 才能正常运行。-
打开 AWS IAM 身份验证器配置映射进行编辑。
kubectl edit -n kube-system cm aws-auth -
将此条目添加到每个与 Windows 节点关联的
rolearn下的groups列表中。您的配置图应该看起来像 aws-auth-cm-windows.yaml。 - eks:kube-proxy-windows -
保存文件并退出文本编辑器。
-
-
对于使用自定义启动模板的任何 AMI,托管节点组的默认
HttpPutResponseHopLimit均设置为2。