为 Rancher 设置高可用 K3s Kubernetes 集群
本节介绍了如何根据Rancher 服务器环境的最佳实践安装 Kubernetes 集群。
如果你的系统处于离线环境,不能直接上网,请参考离线安装说明。
单节点安装提示 在单节点 Kubernetes 集群中,Rancher 服务器不具备高可用性,这对于在生产中运行 Rancher 非常重要。然而,如果你想在短期内通过使用单节点来节省资源,同时保留高可用性的迁移路径,在单节点集群上安装 Rancher 是很有用的。
要建立单节点 K3s 集群,只需在一个节点上运行 Rancher 服务器安装命令,而不是两个节点。
在这两种单节点设置中,Rancher 可以与 Helm 一起安装在 Kubernetes 集群上,就像安装在任何其他集群上一样。
#
先决条件这些说明假设你已经设置了两个节点、一个负载均衡器、一个 DNS 记录和一个外部 MySQL 数据库,如本节所述。
Rancher 需要安装在支持的 Kubernetes 版本上。要了解您的 Rancher 版本支持哪些版本的 Kubernetes,请参考支持维护条款。要指定 K3s 版本,请在运行 K3s 安装脚本时使用 INSTALL_K3S_VERSION 环境变量。
#
安装 Kubernetes#
步骤 1:安装 Kubernetes 并设置 K3s 服务器在运行命令启动 K3s Kubernetes API 服务器时,会传入使用之前设置的外部数据存储的选项。
连接到你准备运行 Rancher 服务器的一个 Linux 节点。
在 Linux 节点上,运行此命令来启动 K3s 服务器,并将其连接到外部数据存储。
要指定 K3s 版本,请在运行 K3s 安装脚本时使用 INSTALL_K3S_VERSION 环境变量:
注意:也可以使用环境变量$K3S_DATASTORE_ENDPOINT
来传递数据存储端点。
- 在你的第二个 K3s 服务器节点上重复同样的命令。
#
步骤 2:确认 K3s 正在运行请在 K3s 服务器节点上运行以下命令,确认 K3s 已经设置成功。
结果: 您已经成功建立了一个 K3s Kubernetes 集群。
#
步骤 3:保存并开始使用 kubeconfig 文件当您在每个 Rancher server 节点上安装 K3s 时,会在节点上创建了一个/etc/rancher/k3s/k3s.yaml
的kubeconfig
文件。这个文件包含了完全访问集群的凭证,你应该把这个文件保存在一个安全的位置。
- 安装[kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl)。
- 复制
/etc/rancher/k3s/k3s.yaml
处的文件,并保存到本地机器上的~/.kube/config
目录下。 - 在 kubeconfig 文件中,
server
指令定义为 localhost。将服务器配置为你的负载均衡器的 DNS,参考端口 6443。Kubernetes API 服务器将通过端口 6443 到达,而 Rancher 服务器将通过端口 80 和 443 到达)。下面是一个例子k3s.yaml
:
结果: 现在你可以使用kubectl
来管理你的 K3s 集群。如果你有多个的 kubeconfig 文件,你可以在使用kubectl
时通过传递文件的路径来指定你要使用的文件。
关于kubeconfig
文件的更多信息,请参考K3s 文档或Kubernetes 官方文档中关于使用kubeconfig
文件组织集群访问的内容。
#
4. 检查您集群内 Pods 的健康状况现在你已经设置了kubeconfig
文件,你可以使用kubectl
从你的本地机器访问集群。
检查所有需要的 pods 和容器是否健康,准备继续:
结果: 您已经可以使用kubectl
访问集群,并且 K3s 集群正在运行。现在可以在集群上安装 Rancher 管理服务器。