我想这个需求对于很多初学 K8S 同学来说简直不要太爽了。
面对网上铺天盖地的各种动辄访问国外网站,命令搭建,简直不要太难了。
所以我这里给大家推荐使用 Rancher 来搭建,就能满足你的需求。
我相信 Rancher 会是学习 K8S 同学,入门的利器。
阅读此文,你可能需要对 Docker 技术比较熟悉,以及对 K8S 有一丢丢了解。
很多同学可能并未听过 rancher,但是基本都听过 K8S,同时被人们传得神乎其神。
也非常想学习,但是无奈网上的资料都不系统,里面上千个知识点,没听错,是上千个。
好不容易找到点点资料,发现大都还是二进制方式部署,要不就是需要访问国外网站才行。
于是也就只能叹而生畏。
因为以前大都很可能是这样玩 K8S:
管理员大都通过命令行去管理集群,虽然K8S官方也有管理可视化界面,但是,并不是特别好用。
但是随着 K8S 技术的日益成熟,也诞生了非常多的部署和管理工具,Rancher 便是其中之一。
我们使用 Rancher 去搭建 K8S 环境是非常简单的,只需要使用 Docker 运行一个容器,一个可视化的 K8S 部署界面就起好了。
剩下的就只需要按照他的提示,一步一步操作就好了,
整个过程非常丝滑。
虽然现在很多K8S高手也还是用命令行处理,但是对于小白来说用命令行去理解什么是 pod,什么是 namespace 这些还是有点抽象。
各有各的好处吧!
我没做过国内公司使用 Rancher 的情况调查,但是个人感觉,作为业务开发程序员用它来学习练手 K8S 还是非常不错的。
用于生产嘛,那就仁者见仁智者见智了哈,毕竟这不纯是出于技术角度考虑的问题。
Rancher 的官网:https://rancher.com/
官方文档地址:https://rancher.com/docs/rancher/v2.6/en/
安装的大致流程是:Docker→Rancher→K8S 这三步。
这篇文章不会对 Rancher 做太深入的解释,我只会告诉你怎么快速搭建,更深入的讲解请期待后期的文章吧。
我这里使用的线上云服务器进行演示,以下是我的配置信息
系统:centos7.9 64位
内存:8G
核心:4核心
建议服务器的配置稍微高一点,不然可能会带不动。
我们这里基于 Docker 方式安装 Rancher,所以你必须先安装好 Docker。
如何安装 Docker 大家可以自行百度,也可以在号内搜索关键词 Docker ,查看我早期写的关于怎么在服务器上安装 Docker 的教程。
同时处理好,防火墙 和 selinux。
直接执行下面的启动命令,创建容器:
docker run --privileged -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /app/rancher:/var/lib/rancher/ rancher/rancher:v2.5.10
一些说明:
启动后的样子:
启动好容器,等半分钟之后(给程序一些初始化的时间),就可以通过 IP + 443 端口访问了,我这里是 8443 端口。
因为我们这里的证书是自签的,所以会提示不安全,点击【高级】继续前往即可。
等待他一会儿就会看到这个界面了:
设置好你的密码点击 continue 即可。
接下来就是设置你的 Server URL 了:
Server URL 主要用于节点之间的通讯使用,所以建议设置成节点之间的内网IP,会好一些,如果设计跨云,跨网段就另当别论。
到这里就配置结束了,这就是首页了。
默认给我们安装了一个 K3S,暂时我们用不上。
右下角你可以修改语言为简体中文。
点击右上角 添加集群 创建一个集群:
我们使用自定义模式:
在这里输入你集群的名字:
其他的都不动,全部默认即可,往下滚点击 下一步 ,就会到需要到节点执行的命令了:
首先我们需要启动的是 maser 节点,所以需要勾上 etcd, Control Plane 和 worker,然后把黑框中的命令复制到我们的 master 节点上执行就好了。
我这里把 maser 和 Rancher 部署在一个节点上,如果你有多台服务器,建议是分开放两台。
回到首页,你可以看到他正在拉去镜像:
请给他一些时间,你去喝杯茶,等他自己慢慢工作,他会拉去很多镜像到你的本地。
当看到下面这样的 Active 状态就部署好了。
到此一个单节点的K8S就部署完毕了。
基于 Rancher 的添加节点,只需要升级集群即可:
然后什么都不用改,点击最下面的保存:
就能看到添加节点的命令了:
只需要把这个命令在新的节点执行即可!
前提是这台服务器 Docker 是部署好了的。
云原生的趋势目前来看是势不可挡,在未来 K8S 很可能会是所有技术人员的必备技能。
虽然 K8S 很难,但是勇敢牛牛,不怕困难。
后续这个系列会持续更新有关 K8S 的内容,大家先把环境搭上吧。