|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
为高可用性 SUSE® Rancher Prime: RKE2 Kubernetes 集群设置基础设施
本教程旨在帮助您为 Rancher 管理服务器配置基础设施。
Rancher 专用 Kubernetes 集群的推荐基础设施取决于 Rancher 是安装在 RKE2 Kubernetes 集群、RKE Kubernetes 集群,还是单个 Docker 容器上。
|
重要说明:
这些节点必须位于同一区域。您可以将这些服务器放置在不同的可用区(数据中心)。 |
要在高可用性 RKE2 集群上安装 Rancher 管理服务器,我们建议设置以下基础设施:
-
三个 Linux 节点, 通常是您选择的基础设施提供商中的虚拟机。
-
一个负载平衡器 用于将流量引导到节点。
-
一个 DNS 记录 用于将 URL 映射到负载均衡器。这将成为 Rancher 服务器的 URL,下游的 Kubernetes 集群需要访问它。
1.设置 Linux 节点
确保您的节点满足 操作系统、容器运行时、硬件和网络 的一般安装要求。
有关设置 Linux 节点的一种示例,请参考此 教程,以将节点设置为 Amazon EC2 中的实例。
2.设置负载平衡器
您还需要设置一个负载平衡器,将流量引导到所有节点上的 Rancher 副本。这将防止任何单个节点的故障导致与 Rancher 管理服务器的通信中断。
|
*Ingress-NGINX EOL:*社区 |
当 Kubernetes 在后面的步骤中设置时,RKE2 工具将部署一个 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 记录以将流量发送到此负载平衡器。
根据您的环境,这可能是指向负载平衡器 IP 的 A 记录,或者是指向负载平衡器主机名的 CNAME。无论哪种情况,请确保此记录是您希望 Rancher 响应的主机名。
在稍后的步骤中安装 Rancher 时,您需要指定此主机名,并且之后无法更改。确保您的决定是最终的。
有关设置 DNS 记录以将域流量路由到 Amazon ELB 负载平衡器的操作指南,请参阅 官方 AWS 文档。