与 Rancher 和 Kubernetes 协同工作¶
Kubernetes (K8s) 是一个开源的容器编排系统,用于管理容器化应用程序的部署和管理。
K8s 在市场上已经名声大噪,无需再做介绍。
云服务提供商使得部署托管的 Kubernetes 平台变得容易,但本地部署集群又如何呢?
管理多个集群,无论是本地还是多云,有多容易?
最后一个问题的答案是“不容易”。设置本地集群很困难,而管理多云集群可能是一个真正的头痛问题。
这就是本指南的主题:Rancher!Rancher 也是一个开源系统,支持安装和编排多个多云或本地集群,并提供有趣的功能,如应用程序目录和可视化资源的实用 Web 界面。
Rancher 将使您能够部署由云服务提供商管理的 Kubernetes 集群,导入现有 Kubernetes 集群,或部署 K3s(简称,它是 K8s 的轻量级版本)或 K8s 集群。
本指南将帮助您发现 Rancher,安装并启动它,然后在 Rocky Linux 服务器上部署本地 Kubernetes 集群。
Rancher 部署¶
如果您在服务器上安装了 Docker,安装 Rancher 相当简单。
您可以在 Gemstones 中找到 Docker 的安装说明。
要在 Rocky 9 上运行,Rancher 还需要加载模块 /run/run/
确保在系统启动期间加载所需模块的一种方法是创建一个 /etc/modules-load.d/rancher.conf
文件,内容如下:
ip_tables
ip_conntrack
iptable_filter
ipt_state
应用这些更改的最简单方法是重新启动服务器:sudo reboot
。
重新启动后,您可以使用 lsmod | grep <module_name>
命令来确保模块已正确加载。
现在我们已经准备好接收 Rancher 容器的系统了。
docker pull rancher/rancher:latest
docker run -d --name=rancher --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
注意
如果您好奇,可以查看新容器的日志。您会发现一个 K3s 集群(单节点)刚刚被创建!这就是 Rancher 单机版的工作方式。
由于 Rancher 监听在 443 端口,请打开防火墙以允许外部访问。
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --zone=public --add-service=https
如果您访问新部署的 Rancher Web 界面,会显示一条消息,告知您如何从容器日志中检索管理员密码。
为此,请运行以下命令:
docker logs rancher 2>&1 | grep "Bootstrap Password:"
您已准备好连接到 Rancher 的 WebUI。
注意
此解决方案远非生产就绪。您需要确保系统高可用,但这只是一个好的开始。为了最佳的高可用性,请考虑在现有的 K8s 集群上部署 Rancher。
在 Rocky Linux 9 服务器上部署 Kubernetes¶
Rancher 提供了其基于 Docker 的 Kubernetes 版本:RKE(Rancher Kubernetes Engine)。
您只需要几个 Rocky Linux 服务器和安装在上面的 Docker 引擎。
不要忘记 Kubernetes 的一个要求是必须有奇数数量的主节点(例如 1 或 3)。为了我们的测试,从 3 个主节点和 2 个只有 worker 角色的附加节点开始。
在服务器上安装 Docker 后,在每个服务器上停止 firewalld
并运行 nftables
。
systemctl stop firewalld
systemctl disable firewalld
systemctl start nftables
systemctl enable nftables
我们已经准备好创建集群了。
集群创建¶
在集群管理区域,创建一个新集群。
您可以选择在托管 Kubernetes 提供商中创建集群,配置新节点并使用 RKE2/K3s 创建集群,或者,在我们的例子中,使用现有节点并使用 RKE2/K3s 创建集群。
选择最后一个选项。
输入集群名称和描述。
在启动集群创建之前,花时间探索各种可用选项。
集群创建完成后,转到“注册”选项卡以添加我们的服务器。
首先,选择要添加的节点的各种角色,并复制必要的命令行。如果您的集群使用自签名证书,请选中相应的框。
转到要添加到配置中的节点,然后粘贴您之前复制的命令。
几分钟后,服务器将被添加到集群,如果它是第一个服务器并且具有所有角色,集群将在 Web 界面中可用。
添加完 5 台服务器后,您应该会得到类似如下的结果:
结论¶
恭喜!借助 Rancher 的功能,您已在短短几分钟/小时内安装了第一个 Kubernetes 集群。
如果您是 Kubernetes 的新手,您已经可以为自己感到自豪了:您走在正确的道路上。现在您已经拥有了继续探索 Kubernetes 所需的一切。
作者:Antoine Le Morvan
贡献者:Steven Spencer, Ganna Zhyrnova