|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
设置 Amazon ELB 网络负载均衡器
本 how-to 指南描述了如何在 Amazon 的 EC2 服务中设置网络负载平衡器 (NLB),该负载平衡器将流量引导到 EC2 上的多个实例。
这些示例显示了负载均衡器被配置为将流量引导到三个 Rancher 服务器节点。如果 Rancher 安装在 K3s Kubernetes 集群上,则只需要两个节点。
本教程介绍了一种可能的设置负载平衡器的方法,而不是唯一的方法。其他类型的负载平衡器,例如经典负载平衡器或应用负载平衡器,也可以将流量引导到 Rancher 服务器节点。
Rancher 仅支持在以 tcp 模式终止 443 端口流量时使用 Amazon NLB,而不支持在 tls 模式下终止流量。这是因为 NLB 在终止于 NLB 时不会在请求中注入正确的头信息。这意味着如果您想使用 Amazon 证书管理器 (ACM) 管理的证书,您应该使用 ALB。
1.创建目标组
首先为 TCP 协议创建两个目标组,一个使用 TCP 端口 443,另一个使用 TCP 端口 80(提供重定向到 TCP 端口 443)。您将把 Linux 节点添加到这些组中。
您第一个 NLB 配置步骤是创建两个目标组。从技术上讲,仅需要端口 443 来访问 Rancher,但添加一个端口 80 的侦听器是方便的,因为流量将自动重定向到端口 443。
Traefik Ingress 应该将流量从端口 80 重定向到端口 443。
-
登录到 Amazon AWS 控制台 开始。确保选择您的 EC2 实例(Linux 节点)创建的 区域。
-
选择 服务 并选择 EC2,找到 负载均衡 部分并打开 目标组。
-
点击 创建目标组 创建第一个目标组,针对 TCP 端口 443。
|
有关 Traefik Ingress 健康检查的详细信息,请参阅 本节。 |
目标组 (TCP 端口 443)
根据下表配置第一个目标组。
| 选项 | 设置 |
|---|---|
目标组名称 |
|
目标类型 |
|
协议 |
|
端口 |
|
VPC |
选择您的 VPC |
健康检查设置:
| 选项 | 设置 |
|---|---|
协议 |
TCP |
端口 |
|
健康阈值 |
|
不健康阈值 |
|
超时 |
|
间隔 |
|
点击 创建目标组 创建第二个目标组,针对 TCP 端口 80。
目标组 (TCP 端口 80)
根据下表配置第二个目标组。
| 选项 | 设置 |
|---|---|
目标组名称 |
|
目标类型 |
|
协议 |
|
端口 |
|
VPC |
选择您的 VPC |
健康检查设置:
| 选项 | 设置 |
|---|---|
协议 |
TCP |
端口 |
|
健康阈值 |
|
不健康阈值 |
|
超时 |
|
间隔 |
|
2.注册目标
接下来,将您的 Linux 节点添加到两个目标组。
选择名为 rancher-tcp-443 的目标组,点击 目标 标签并选择 编辑。
选择您想要添加的实例(Linux 节点),然后点击 添加到已注册。
当实例被添加后,点击屏幕右下角的 保存。
重复这些步骤,将 rancher-tcp-443 替换为 rancher-tcp-80。相同的实例需要作为目标添加到此目标组。
3.创建您的 NLB
使用亚马逊的向导创建网络负载均衡器。在此过程中,您将添加在 中创建的目标组。创建目标组。
-
在您的网页浏览器中,导航到 亚马逊 EC2 控制台。
-
在导航窗格中,选择 负载均衡 > 负载均衡器。
-
单击 创建负载均衡器。
-
选择 网络负载均衡器 并单击 创建。然后完成每个表单。
4.为 TCP 端口 80 向 NLB 添加侦听器
-
选择您新创建的 NLB,并选择 侦听器 选项卡。
-
点击 添加侦听器。
-
使用
TCP:80作为 协议 :*端口* -
点击 添加操作 并选择 转发到..。
-
从 转发到 下拉菜单中选择
rancher-tcp-80。 -
点击屏幕右上角的 保存。
Traefik Ingress 的健康检查路径列表
K3s Kubernetes 集群使用 Traefik 作为默认的 Ingress。
健康检查路径是 /ping。默认情况下,/ping 始终匹配(无论 Host),并且始终返回来自 Traefik 本身 的响应。
为了模拟准确的健康检查,最佳实践是尽可能使用 Host 头(Rancher 主机名)结合 /ping 或 /healthz,以获取来自 Rancher Pods 的响应,而不是 Ingress。