

 **帮助改进此页面** 

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

# Amazon EKS 混合节点功能网关配置参考
<a name="hybrid-nodes-gateway-configuration"></a>

本页记录了 Amazon EKS 混合节点功能网关的所有可配置参数。有关安装说明，请参阅[开始使用 EKS 混合节点功能的网关](hybrid-nodes-gateway-getting-started.md)。有关该网关的概述，请参阅[Amazon EKS 混合节点功能网关](hybrid-nodes-gateway-overview.md)。

## Helm 图表值
<a name="hybrid-nodes-gateway-helm-values"></a>

下表列出了 `eks-hybrid-nodes-gateway` Helm 图表中的所有值。在 `helm install` 或 `helm upgrade` 期间，您可以使用 `--set` 标记或自定义的 `values.yaml` 文件设置这些值。


| 值 | Type | 默认 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `image.repository`  | 字符串 |  `public.ecr.aws/eks/eks-hybrid-nodes-gateway`  | 否 | 网关映像的容器映像存储库。默认为 Amazon ECR 公有注册表。 | 
|  `image.tag`  | 字符串 | 图表 `appVersion`  | 否 | 映像标签。默认为 `Chart.yaml` 中定义的 `appVersion`。 | 
|  `image.pullPolicy`  | 字符串 |  `IfNotPresent`  | 否 | 映像拉取策略。有效值：`Always`、`IfNotPresent`、`Never`。 | 
|  `replicas`  | 整数 |  `2`  | 否 | 网关容器组（pod）的副本数量。为了在生产环境中实现高可用性，建议使用两个副本进行配置。 | 
|  `nodeLabel`  | 字符串 |  `hybrid-gateway-node`  | 否 | 用于选择网关节点的节点标签键。节点必须将此标签设置为 `"true"`。 | 
|  `vpcCIDR`  | 字符串 |  `""`  | 是 | 用于 Cilium VTEP 配置的 VPC CIDR 数据块。示例：`10.0.0.0/16`。 | 
|  `podCIDRs`  | 字符串 |  `""`  | 是 | 混合节点上 Cilium 使用的容器组（pod）CIDR 列表（以逗号分隔）。示例：`10.85.0.0/16,10.86.0.0/16`。 | 
|  `routeTableIDs`  | 字符串 |  `""`  | 是 | 要使用混合容器组（pod）路由进行编程的 VPC 路由表 ID 列表（以逗号分隔）。示例：`rtb-0123456789abcdef0,rtb-0123456789abcdef1`。 | 
|  `autoMode.enabled`  | 布尔值 |  `true`  | 否 | 启用 EKS 自动模式集成。为 `true` 时，图表会添加 `eks.amazonaws.com/compute-type: auto` 节点选择器，并使用零停机时间滚动更新策略。对于托管节点组或自行管理的节点，设置为 `false`。 | 

### 示例安装命令
<a name="hybrid-nodes-gateway-install-examples"></a>

 **EKS 自动模式**（默认）：

```
helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \
  --version 1.0.0 \
  --namespace eks-hybrid-nodes-gateway \
  --create-namespace \
  --set vpcCIDR={{VPC_CIDR}} \
  --set podCIDRs={{POD_CIDRS}} \
  --set routeTableIDs={{ROUTE_TABLE_IDS}}
```

 **托管节点组或自行管理的节点**：

```
helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \
  --version 1.0.0 \
  --namespace eks-hybrid-nodes-gateway \
  --create-namespace \
  --set autoMode.enabled=false \
  --set vpcCIDR={{VPC_CIDR}} \
  --set podCIDRs={{POD_CIDRS}} \
  --set routeTableIDs={{ROUTE_TABLE_IDS}}
```

## 自动模式与托管节点组配置对比
<a name="hybrid-nodes-gateway-auto-vs-mng"></a>

`autoMode.enabled` Helm 值控制部署模板中的两种行为：


| 行为 |  `autoMode.enabled=true`（默认） |  `autoMode.enabled=false`  | 
| --- | --- | --- | 
|  **节点选择器**  | 除网关节点标签外，还会添加 `eks.amazonaws.com/compute-type: auto`。 | 仅使用网关节点标签 (`hybrid-gateway-node: "true"`)。 | 
|  **滚动更新策略**  |  `maxSurge: 1`、`maxUnavailable: 0`：通过在终止旧的容器组（pod）之前启动新容器组（pod），确保升级期间零停机时间。 |  `maxSurge: 0`、`maxUnavailable: 1`：在启动新容器组（pod）之前终止旧容器组（pod），因为节点容量是预置的。 | 

使用 EKS 自动模式时，必须先创建 `NodePool` 和 `NodeClass`，然后再安装 Helm 图表。NodePool 会使用正确的标签、污点和源/目标检查配置来预置 EC2 实例。有关所需的 YAML，请参阅 [开始使用 EKS 混合节点功能的网关](hybrid-nodes-gateway-getting-started.md)。使用托管节点组或自行管理的节点时，必须先自行预置节点并添加标签，然后再安装图表。

对于所有部署目标，部署会使用 `hostNetwork: true` 且需要 `NET_ADMIN` 功能。容器组（pod）反亲和性可确保两个网关容器组（pod）在不同的节点上运行。

## 主节点选举调优
<a name="hybrid-nodes-gateway-leader-tuning"></a>

网关使用基于 Kubernetes Lease 的主节点选举来维持主动-备用模式。默认参数针对快速失效转移进行了调优：


| 参数 | 默认值 | 说明 | 
| --- | --- | --- | 
|  `--leader-election-lease-duration`  |  `3s`  | 非主节点在最后一次观察到续订租约后，尝试获取租约之前的等待时间。值越低，越能更快检测到主节点故障，但在临时网络问题期间会增加虚假失效转移的风险。 | 
|  `--leader-election-renew-deadline`  |  `2s`  | 活动主节点在放弃主节点身份之前尝试续订租约的最长时间。必须小于租约持续时间。 | 
|  `--leader-election-retry-period`  |  `1s`  | 候选节点重试获取租约或续订租约的频率。 | 

使用默认值时，活动网关发生故障时的预期失效转移时间约为 3 – 5 秒。这包括备用节点检测租约到期、获取租约以及执行主节点设置序列（VPC 路由表更新和 Cilium VTEP 配置）的时间。

### 何时调整主节点选举参数
<a name="hybrid-nodes-gateway-leader-tuning-guidance"></a>
+  如果您观察到因网关容器组（pod）与 Kubernetes API 服务器之间的瞬时网络延迟而导致主节点频繁切换，请**延长租约持续时间**。
+  如需加快失效转移检测，并确保网关节点与 API 服务器之间的网络可靠且低延迟，请**缩短租约持续时间**。
+  在大型集群中，**延长重试期**以减少主节点选举所产生的 API 服务器负载。

**注意**  
`--leader-election-renew-deadline` 必须始终小于 `--leader-election-lease-duration`。如果续约截止日期超过租约持续时间，主节点可能会在续订之前丢失租约。

## 相关主题
<a name="hybrid-nodes-gateway-configuration-related"></a>
+  [Amazon EKS 混合节点功能网关](hybrid-nodes-gateway-overview.md) 
+  [开始使用 EKS 混合节点功能的网关](hybrid-nodes-gateway-getting-started.md) 
+  [Amazon EKS 混合节点功能网关操作](hybrid-nodes-gateway-operations.md) 
+  [Amazon EKS 混合节点功能网关问题排查](hybrid-nodes-gateway-troubleshooting.md) 