关于高可用安装
概述
我们建议使用Helm (Kubernetes 包管理器)在专用的 Kubernetes 集群上安装 Rancher。因为通过在多个节点上运行 Rancher 可以提高可用性,这个安装方式叫做“高可用 Kubernetes 安装”。
在标准安装中,首先将 Kubernetes 安装在基础设施提供商(例如 Amazon 的 EC2 或 Google Compute Engine)中托管的三个节点上。
然后使用 Helm 在 Kubernetes 集群上安装 Rancher。Helm 使用 Rancher 的 Helm chart 在 Kubernetes 集群的三个节点中的每个节点上安装 Rancher 的副本。我们建议使用负载均衡器将流量定向到集群中 Rancher 的每个副本,以提高 Rancher 的可用性。
Rancher server 数据存储在 etcd 或 MySQL 中(适用于 v2.4.0 及更新版本)。etcd 数据库可以在所有三个节点上运行,并且需要奇数个节点,这样它就可以由大多数节点选举出 etcd 集群的 leader。如果 etcd 数据库不能选出 leader,则 etcd 可能会失败,从而需要从备份中还原集群。
有关 Rancher 如何工作的说明(与安装方法无关),请参阅 Rancher 的产品架构。
推荐架构
- Rancher 的 DNS 应该解析为 4 层负载均衡器
- 负载均衡器应将端口 TCP/80 和 TCP/443 流量转发到 Kubernetes 集群中的所有 3 个节点。
- Ingress 控制器会将 HTTP 重定向到 HTTPS,并在端口 TCP/443 上终止 SSL/TLS。
- Ingress 控制器会将流量转发到 Rancher deployment 中 Pod 上的端口 TCP/80。
下图为使用 4 层负载均衡器在 Kubernetes 集群中安装的 Rancher 高可用,描述了 ingress 控制器的SSL终止
Kubernetes Rancher 安装了 4 层负载均衡器(TCP),描述了 ingress 控制器的 SSL 终止