Skip to main content

05.本地vagrant安装k8s集群,全自动

1 怎就全自动了?

全自自动是指,达到环境要求(vagrant1 + virtualbox`),然后把配置一拉,再一启动,启动中再喝喝荼啥的,然后就搞定了。 就3步,拉配置,启动和喝荼(等待下), 就可以了,步骤十分少,全是全自动.

2 环境要求

  • vagrant + virtualbox

3 启动集群服务

$ git clone https://github.com/wuchuhengtools/vagrant_k8s_cluster # 获取vagrant的配置项目
$ cd vagrant_k8s_cluster # 进入项目中
$ vagrant up # <-- 启动集群
$ vagrant ssh master # <-- 登录master 节点
$ sudo su && kubectl get nodes # <-- 获取节点状态
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 108m v1.21.3
node0 Ready <none> 102m v1.21.3
node1 Ready <none> 96m v1.21.3

原理说明

其实就是把要安装和配置的都写在了脚本中, vagrant初始化时自动会执行这些脚本的,

├── README.md
├── Vagrantfile # vagrant 配置文件, 当中配置了 master ip 和 node组ip
├── init-flannel.sh # <-- 初始化k8s 网络用的脚本
├── master.sh # <-- 初始化master 节点用的脚本
└── node.sh # <-- 初始化 node 节点的脚本

如果想要更多的节点,可以Vagrantfile修改nodeip

...
masterIp = "192.168.33.200"
# configures the group of node ip
nodesIP = [
"192.168.33.201",
"192.168.33.202",
... # <-- 在这里接着加
]
...

小结

总体来说,思路就是在初始化虚拟机时,通过虚拟机的初始化就运行脚本的契机,把需要的配置和软件安装都写成bash脚本, 从而实现整个k8s集群的初始化的自动化。而实现的细节都在项目仓库vagrant_k8s_cluster

参考资料

文章转载自[《重学CI/CD.4本地vagrant安装k8s集群,全自动》](http://wuchuheng.com/relearnCICD/4%E6%9C%AC%E5%9C%B0vagrant%E5%AE%89%E8%A3%85k8s%E9%9B%86%E7%BE%A4%EF%BC%8C%E5%85%A8%E8%87%AA%E5%8A%A8)