Add i18n and Chinese translation

This commit is contained in:
vickyhella
2022-09-13 22:51:43 +08:00
parent 872809ba37
commit 4d88df32b1
453 changed files with 47673 additions and 0 deletions
@@ -0,0 +1,86 @@
---
title: 在 vSphere 环境中安装 Rancher
shortTitle: vSphere 环境中的 Rancher
weight: 3
---
本指南概述了在 vSphere 环境中在 RKE Kubernetes 集群上安装 Rancher 的参考架构,以及 VMware 记录的标准 vSphere 最佳实践。
<figcaption>解决方案概述</figcaption>
![解决方案概述](/img/rancher-on-prem-vsphere.svg)
## 1. 负载均衡器注意事项
你需要使用一个负载均衡器将流量转发到 RKE 节点上的 Rancher 工作负载。
### 利用容错和高可用性
请充分利用具有继承高可用功能的外部(硬件或软件)负载均衡器(如:F5、NSX-T、Keepalived 等)。
### 备份负载均衡器配置
在灾难恢复时,可用的负载均衡器配置可以加快恢复过程。
### 配置健康检查
让负载均衡器在健康检查失败时自动将节点标记为不可用。例如,NGINX 可以通过以下配置来实现这一功能:
`max_fails=3 fail_timeout=5s`
### 利用外部负载均衡器
避免在管理集群内使用软件负载均衡器。
### 安全访问 Rancher
将防火墙/ACL 规则配置为只允许 Rancher 访问。
## 2. 虚拟机注意事项
### 根据 Rancher 文档确定虚拟机的大小
请参见[安装要求](https://rancher.com/docs/rancher/v2.6/en/installation/requirements/)来确定虚拟机的大小。
### 利用虚拟机模板来构建环境
为了保证跨环境部署的虚拟机的一致性,你可以考虑使用虚拟机模板形式的黄金镜像(golden image)。你可以使用 Packer 来实现,从而增加更多自定义选项。
### 利用 DRS 反亲和规则(可能的话)在 ESXi 主机上分离 Rancher 集群节点
这样可以确保节点虚拟机分布在多台 ESXi 主机上,从而防止主机级别的单点故障。
### 利用 DRS 反亲和规则(可能的话)在 Datastore 上分离 Rancher 集群节点
这样可以确保节点虚拟机分布在多个 Datastore 上,从而防止 Datastore 级别的单点故障。
### 为 Kubernetes 配置合适的虚拟机
在部署节点时,请遵循 K8s 和 etcd 的最佳实践,其中包括禁用 swap,检查集群中的所有主机之间是否有良好的网络连接,为每个节点使用唯一的主机名、MAC 地址和 `product_uuids`。
## 3. 网络注意事项
### 利用 ETCD 节点之间的低延迟和高带宽连接
尽可能在单个数据中心内部署 etcd 成员,来避免延迟开销并减少网络分区的可能性。大多数情况下,1Gb 的连接就足够了。对于大型集群,10Gb 的连接可以缩短恢复备份所需的时间。
### 为虚拟机提供固定的 IP 地址
你可以为使用的所有节点都配置一个静态 IP。如果使用 DHCP,则每个节点都应该有一个 DHCP 预留,以确保节点分配到相同的 IP 地址。
## 4. 存储注意事项
### 在 ETCD 节点上使用 SSD 磁盘
ETCD 对写入延迟非常敏感。因此,你可以尽量使用 SSD 磁盘来提高写入性能。
## 5. 备份和灾难恢复
### 定期备份管理集群
Rancher 将数据存储在它所在的 Kubernetes 集群的 ETCD datastore 中。与其它 Kubernetes 集群一样,你需要对该集群进行频繁且经过测试的备份。
### 备份 Rancher 集群节点虚拟机
将 Rancher 管理节点的虚拟机纳入标准的虚拟机备份策略中。
@@ -0,0 +1,45 @@
---
title: Rancher 部署策略
weight: 100
---
本文提供 Rancher Server 的两种部署策略,用于管理下游 Kubernetes 集群。每种策略都有优缺点。请按照你的实际情况选择最适合的部署策略:
* [中心辐射型策略](#中心辐射型策略)
* [区域型策略](#区域型策略)
## 中心辐射型策略
---
在中心辐射型部署中,一个 Rancher controlplane 就可以管理遍布全球的 Kubernetes 集群。这个 controlplane 运行在高可用 Kubernetes 集群上,并且会受延迟影响。
![](/img/bpg/hub-and-spoke.png)
### 优点
* 环境中可以具有跨区域的节点和网络连接。
* 可以通过一个 controlplane 界面查看所有区域和环境。
* Kubernetes 不需要 Rancher 进行操作,并且可以容忍与 Rancher controlplane 断开连接。
### 缺点
* 受限于网络延迟。
* 如果 controlplane 出现故障,在恢复之前不可以在全球范围内创建新服务。但是每个 Kubernetes 集群都可以继续单独管理。
## 区域型策略
---
在区域型部署模型中,controlplane 部署在靠近计算节点的位置。
![](/img/bpg/regional.png)
### 优点
* 如果某个区域的 controlplane 出现故障,其他区域内的 Rancher 功能仍然可以保持正常。
* 网络延迟大大降低,提高 Rancher 的性能。
* 可以在每个区域内独立升级 Rancher controlplane。
### 缺点
* 管理多个 Rancher 安装的开销较大。
* 需要在多个界面中查看全球所有的 Kubernetes 集群。
* 在 Rancher 中部署多集群应用时,需要在每个 Rancher Server 中重复部署步骤。
@@ -0,0 +1,37 @@
---
title: Rancher 运行技巧
weight: 100
---
本指南适用于使用 Rancher 管理下游 Kubernetes 集群的用例。高可用设置可以防止 Rancher Server 不可用时无法访问下游集群。
高可用 Rancher 安装指将 Rancher 安装到至少有三个节点的 Kubernetes 集群上,适用于所有生产环境以及重要的安装场景。在多个节点上运行多个 Rancher 实例能够实现单节点安装无法提供的高可用性。
如果你在 vSphere 环境中安装 Rancher,请参见[最佳实践文档](on-premises-rancher-in-vsphere.md)。
在设置高可用 Rancher 安装时,请考虑以下事项。
### 在单独的集群上运行 Rancher
不要在安装了 Rancher 的 Kubernetes 集群上运行其他工作负载或微服务。
### 确保 Kubernetes 节点配置正确
在部署节点时,请遵循 K8s 和 etcd 的最佳实践,其中包括禁用 swap,检查集群中的所有主机之间是否有良好的网络连接,为每个节点使用唯一的主机名、MAC 地址和 `product_uuids`,检查所需端口是否已经打开,并使用配置 SSD 的 etcd 进行部署。详情请参见 [kubernetes 官方文档](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#before-you-begin)和 [etcd 性能操作指南](https://etcd.io/docs/v3.4/op-guide/performance/)。
### 使用 RKE 时:备份状态文件(Statefile)
RKE 将集群状态记录在一个名为 `cluster.rkestate` 的文件中,该文件对集群的恢复和/或通过 RKE 维护集群非常重要。由于这个文件包含证书材料,我们强烈建议在备份前对该文件进行加密。请在每次运行 `rke up` 后备份状态文件。
### 在同一个数据中心运行集群中的所有节点
为达到最佳性能,请在同一地理数据中心运行所有三个节点。如果你在云(如 AWS)上运行节点,请在不同的可用区(AZ)中运行这三个节点。例如,在 us-west-2a 中运行节点 1,在 us-west-2b 中运行节点 2,在 us-west-2c 中运行节点 3。
### 保证开发和生产环境的相似性
强烈建议为运行 Rancher 的 Kubernetes 集群配备 “staging” 或 “pre-production” 环境。这个环境的软件和硬件配置应该尽可能接近你的生产环境。
### 监控集群以规划容量
Rancher Server 的 Kubernetes 集群应该尽可能满足[系统和硬件要求](../../../pages-for-subheaders/installation-requirements.md)。越偏离系统和硬件要求,你可能面临的风险就越大。
但是,已发布的要求已经考虑了各种工作负载类型,因此,基于指标来规划容量应该是扩展 Rancher 的最佳实践。
你可以将 Rancher 集成业界领先的开源监控解决方案 Prometheus 以及能可视化 Prometheus 指标的 Grafana,来监控集群节点、Kubernetes 组件和软件部署的状态和过程。
在集群中[启用监控](../../../pages-for-subheaders/monitoring-and-alerting.md)后,你可以通过设置告警通知,来了解集群容量的使用情况。你还可以使用 Prometheus 和 Grafana 监控框架,在你扩容时建立关键指标的基线。