|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
为高可用性 RKE Kubernetes 集群设置基础设施
|
Rancher Kubernetes Engine (RKE/RKE1) will reach end of life on July 31, 2025. Rancher 2.12.0 and later will no longer support provisioning or managing downstream RKE1 clusters. We recommend replatforming RKE1 clusters to RKE2 to ensure continued support and security updates. Learn more about the transition here. |
本教程旨在帮助您创建一个高可用性 RKE 集群,以便安装 Rancher 服务器。
|
重要说明:
这些节点必须位于同一区域。您可以将这些服务器放置在不同的可用区(数据中心)。 |
要在高可用性 RKE 集群上安装 Rancher 管理服务器,我们建议设置以下基础设施:
-
三个 Linux 节点, 通常是虚拟机,位于 Amazon EC2、Google Compute Engine 或 vSphere 等基础设施提供商中。
-
一个负载均衡器 用于将前端流量引导到这三个节点。
-
一个 DNS 记录 用于将 URL 映射到负载均衡器。这将成为 Rancher 服务器的 URL,下游的 Kubernetes 集群需要访问它。
这些节点必须位于同一区域/数据中心。您可以将这些服务器放置在不同的可用区。
为什么选择三个节点?
在 RKE 集群中,Rancher 服务器数据存储在 etcd 中。这个 etcd 数据库在所有三个节点上运行。
etcd 数据库需要奇数个节点,以便它始终能够在 etcd 集群中选举出多数的领导者。如果 etcd 数据库无法选举出领导者,etcd 可能会遭遇 脑裂,需要从备份中恢复集群。如果三个 etcd 节点中的一个失败,剩下的两个节点可以选举出领导者,因为它们拥有大多数的 etcd 节点。
1.设置 Linux 节点
确保您的节点满足 操作系统、容器运行时、硬件和网络 的一般安装要求。
有关设置 Linux 节点的一种示例,请参考此 教程,以将节点设置为 Amazon EC2 中的实例。
2.设置负载平衡器
您还需要设置一个负载平衡器,将流量引导到三个节点中任一节点上的 Rancher 副本。这将防止任何单个节点的故障导致与 Rancher 管理服务器的通信中断。
当 Kubernetes 在后面的步骤中设置时,RKE 工具将部署一个 NGINX Ingress 控制器。该控制器将在工作节点的 80 和 443 端口上侦听,响应发送到特定主机名的流量。
当 Rancher 安装完成(也在后面的步骤中)时,Rancher 系统会创建一个 Ingress 资源。该 Ingress 告诉 NGINX Ingress 控制器侦听发送到 Rancher 主机名的流量。当 NGINX Ingress 控制器接收到发送到 Rancher 主机名的流量时,将把该流量转发到集群中正在运行的 Rancher pod。
对于您的实现,请考虑您是否希望或需要使用 Layer-4 或 Layer-7 负载平衡器:
-
Layer-4 负载平衡器 是两者中更简单的选择,您将 TCP 流量转发到您的节点。我们建议将您的负载平衡器配置为 Layer-4 负载平衡器,将流量转发到 Rancher 管理集群节点的 TCP/80 和 TCP/443 端口。集群上的 Ingress 控制器将把 HTTP 流量重定向到 HTTPS,并在 TCP/443 端口终止 SSL/TLS。Ingress 控制器将把流量转发到 Rancher 部署中的 Ingress pod 的 TCP/80 端口。
-
Layer-7 负载平衡器 稍微复杂一些,但可以提供您可能需要的功能。例如,Layer-7 负载平衡器能够在负载平衡器处处理 TLS 终止,而不是让 Rancher 自行处理 TLS 终止。如果您希望在基础设施中集中管理 TLS 终止,这可能是有益的。Layer-7 负载平衡器还提供了让负载平衡器基于 HTTP 属性(如 cookies 等)做出决策的能力,而 Layer-4 负载平衡器无法处理这些。如果您决定在 Layer-7 负载平衡器上终止 SSL/TLS 流量,则在后面的步骤中安装 Rancher 时需要使用
--set tls=external选项。有关更多信息,请参考 Rancher Helm chart 选项。
有关如何设置 NGINX 负载平衡的示例,请参阅 此页面。
有关设置 Amazon ELB 网络负载平衡器的操作指南,请参阅 此页面。
|
安装后,请勿使用此负载平衡器(即 |
3.设置 DNS 记录
设置负载平衡器后,您需要创建一个 DNS 记录以将流量发送到此负载平衡器。
根据您的环境,这可能是指向 LB IP 的 A 记录,或者是指向负载平衡主机名的 CNAME。无论哪种情况,请确保此记录是您希望 Rancher 响应的主机名。
在稍后的步骤中安装 Rancher 时,您需要指定此主机名,并且之后无法更改。确保您的决定是最终的。
有关设置 DNS 记录以将域流量路由到 Amazon ELB 负载平衡器的操作指南,请参阅 官方 AWS 文档。