本文是开源项目lab-k8s-playground及其All-in-One Playground的中文使用指南!如果您喜欢这个项目,欢迎关注,加星,以及贡献代码_
本文首发于晴耕小筑网站,此处为节选,阅读完整内容请前往晴耕小筑!
在Launch multi-node Kubernetes cluster locally in one minute and more一文里,我们提到过开源项目lab-k8s-playground。它提供了一种用于在单机环境下部署多节点Kubernetes集群的方法,并在此基础上进行了多种优化,以加速集群的启动过程。有了这样一套环境,我们就可以高效地在本地进行各种和Kubernetes有关的学习,开发,部署,测试,以及演示了;或者,也可以把它放到CI/CD的Pipeline上,快速启动起一个用于测试的环境来。
现在,该项目又有了全新升级,那就是“All-in-One Playground”???利用它,我们可以一键搞定Kubernetes部署:通过把部署集群之前要做的很多复杂的准备工作固化在一套脚本里,我们就不用再关心集群部署的优化细节了。只要一行命令,就能完成集群部署。不仅如此,这个Playground环境里还预装了很多常用的Kubernetes命令行工具,并支持Istio等应用的追加部署。所有这些功能,都可以一键式搞定,并且可以反复卸载和安装!
是不是有点迫不及待地想体验一下这个Playground了呢?下面我们就一起来了解一下这个All-in-One Kubernetes Playground吧!
我都等不及啦!
首先,我们把lab-k8s-playground项目克隆到本地,并进入该项目的根目录:
$ git https://github.com/morningspace/lab-k8s-playground.git
在Vagrant Box里启动
启动Playground非常简单,如果你的机器安装了Vagrant Box,那么只要一条命令就行了:
$ vagrant up
整个启动过程大约需要一杯咖啡 ☕️ 的时间。具体取决于你的系统配置,以及分配给虚机的资源大小,还有网络环境等。以我的笔记本为例,8核CPU,16G内存,网络畅通的情况下,大概15分钟内完成。
在这个过程中,脚本会为我们完成所有的脏活累活,包括:
- 自动安装docker,docker compose,kubectrl,helm,以及Kubernetes的一些日常使用的命令行工具;
- 自动搭建Private Registry,用于保存集群部署用到的所有Docker镜像。利用Private Registry可以免去通过网络访问远程Public Registry的需要,从而极大地提高了部署的速度。并且,因为全部镜像都在本地,所以还可以实现离线安装,非常适合单机的demo环境。
- 最后,它还会为我们部署好一个默认由三个节点构成的Kubernetes集群,即:一个master节点加两个worker节点。这个节点数目是可以定制的,不仅如此,就连Kubernetes所用的版本也是可以指定的。关于怎么定制Playground,后面还会讲解。
在宿主机上启动
除了Vagrant Box,Playground也支持直接在宿主机上启动。只要在项目的根目录下执行如下命令,对环境进行初始化:
$ ./install/launch.sh init
因为这条命令会修改当前用户Home目录下的.bashrc,所以建议执行完毕后重新登录一次终端,以便在新的用户Session里重新加载.bashrc。或者,你也可以执行下面的命令,直接在当前Session里主动加载.bashrc:
$ . ~/.bashrc
另外,.bashrc里还有一些和Playground相关的环境变量,你可以根据自己的实际需求对它们进行修改。如果不修改也没关系,脚本会为它们指定默认值:
# The IP of your host, default is 127.0.0.1