最近的工作中需要使用到K8S,而面临的第一个问题就是如何部署一个K8S集群环境。现有多种部署方式,如:kubeadmin,二进制,rancher。在我看来最便捷的就是通过rancher来部署。本文就简单介绍一下如何操作。
本文中的所有步骤都应该测试和验证,并对可能遇到的问题提出了解决办法。如果您在部署k8s的过程如果遇到任何问题,都可以在本文下方评论区中留言,我将积极帮助您解决。
更新提示
本文是基于racher 2.5进行部署,rancher已经更新到2.6,点击右侧博文标题可以跳转到最新的2.6的教程 → rancher2.6部署k8s集群示例 。
1 安装前准备
具体步骤参见 我的另一篇博文 如何设置k8s安装前的计算机环境(此处有超链接,可以直接点击跳转) 。
2 安装rancher
只需要其中一台机器安装rancher,所以您在您的机器中任选一台进行安装。
安装rancher只需要执行如下命令:
docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 --privileged rancher/rancher:v2.5.9
需要注意的是上面的命令中的rancher的版本v2.5.9仅仅是我2021年7月安装测试时的最新版,rancher随时在更新,您可以将上面命令中的“v2.5.9”替换为“latest”,以安装最新版本的rancher。但如果您选择最新版后,您的rancher用户界面可能会和下文的截图有差异,需要您进行一定的探索和推测。请根据您的需求选择。
3 配置Rancher
完成后,访问https://<部署主机的ip或全限定域名>:8443 ,进入rancher管理页面。参照下图进行勾选和信息填写。
点击Continue,跳转到设置服务器URL的页面。注意,此处最好不要设置为全限定域名。否则容易报错。
填写IP地址是最稳妥的方式。
如果您希望用中文界面,可以点击页面右下角切换语言。
4 创建k8s集群
点击右上角的添加集群。
选择自定义。
填写集群名称。
在“kubernetes选项”中选择k8s的版本。
在“高级集群选项”中选择是否启用Nginx Ingress。我这里没有选择没有开启,主要是用不上。是否开启请根据您的需求来定。这个设置项后续可以点击rancher界面中此集群的升级按钮进行重新选择。
点击下一步后,进入添加主机命令页面。点选Etcd,Control Plane,Woker三个选项,然后复制下方的命令,到master节点执行。
只点选Woker一个选项,然后复制下方的命令,到node节点执行。
上述命令实际上就是在各个机器上运行一系列docker容器,整个部署过程大约需要20分钟左右。您可以按照下图的步骤点击进入k8s集群的system项目,观察system相关的命名空间中的资源是否都已经准备好。
如下图所示,左侧状态为Active ,则表示相应的资源准备就绪。当全部资源都是就绪状态,则表示K8S安装完成。