使用 Rancher 和 Kubernetes¶
Kubernetes (K8s) 是一个开源的容器编排系统,用于管理容器化应用程序的部署和管理。
K8s 在市场上已经声名远播,因此无需再介绍它了。
云提供商已经简化了部署托管 Kubernetes 平台的过程,但对于设置和管理内部部署集群呢?
管理多个集群(无论是内部部署还是多云)有多容易?
最后两个问题的答案是否定的。设置内部部署集群很困难,而管理多云集群可能是一件头疼的事情。
这就是本指南主题的作用所在:Rancher!Rancher 也是一个开源系统,它支持安装和编排多个多云或内部部署集群,并提供一些有趣的功能,例如应用程序目录和用于可视化资源的实用 Web 界面。
Rancher 使您可以部署由云提供商管理的 Kubernetes 集群,导入现有 Kubernetes 集群,或部署 K3s(简而言之,它是 K8s 的更轻量级版本)或 K8s 集群。
本指南将帮助您了解 Rancher,安装并启动它,然后创建一个在 Rocky Linux 服务器上部署的内部部署 Kubernetes 集群。
Rancher 部署¶
如果您在服务器上安装了 Docker,那么安装 Rancher 就非常简单。
您可以在宝石中找到 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。
注意
此解决方案绝非生产就绪。您需要确保系统具有高可用性,但这是一个良好的开端。考虑将 Rancher 部署到现有的 K8s 集群中以获得最佳的 HA。
Rocky Linux 9 服务器上的 Kubernetes¶
Rancher 提供了其基于 Docker 的 Kubernetes 版本:RKE(Rancher Kubernetes Engine)。
您只需要几台 Rocky Linux 服务器,并在这些服务器上安装Docker 引擎。
请记住,Kubernetes 的一项要求是拥有奇数个主节点(例如 1 或 3)。为了测试,从 3 个主节点和 2 个仅具有工作节点角色的附加节点开始。
在服务器上安装 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