云君把玩过市场上的许多kubernetes部署工具,要么是只能单机部署临时测试与体验,要么是部署出来的集群不太稳定,要么是需要事先在目标主机上额外安装一些软件才能部署,要么是各种依赖与架构太重,要么是商业收费的……
今天我发现一款很少有人知道的部署神器:kube-install!它是完全免费而强大的高可用kubernetes集群部署工具。你只需要把kube-install下载到本地,就可以一键任意部署单机版kubernetes和集群版kubernetes了,k8s master和k8s node的主机节点数量也可以自己很方便的定义,而且主机节点可跨网段、自带Dashboard和容器镜像中心、证书永不过期、无keepalived第三方HA组件依赖、支持CentOS/RHEL/SUSE等多种发行版操作系统环境,kube-install还支持k8s node的一键扩容与销毁、k8s master修复、集群卸载等……
说了这么多废话,下面跟着云君来看看吧!
[1] 部署环境说明
我手头上正好有四台4核8G的CentOS Linux 7的测试虚拟机,IP地址如下:
主机IP地址 |
主机root密码 |
是否安装k8s master? |
是否安装k8s node? |
192.168.56.81 |
123456789 |
安装 |
安装 |
192.168.56.82 |
123456789 |
安装 |
安装 |
192.168.56.83 |
123456789 |
安装 |
安装 |
192.168.56.84 |
123456789 | 不安装 |
安装 |
我把192.168.56.81、192.168.56.82、192.168.56.83安装为k8s master节点,把所有节点都安装成为k8s node节点。下面我来贴一下我部署的过程:
[2] 部署高可用kubernetes集群
第一步:下载软件包
kube-install支持v1.14~v1.21(最新稳定版本)的全系列kubernetes集群部署,可以到https://github.com/cloudnativer/kube-install/releases这个页面挑选自己心仪版本的软件包:
比如我想安装1.21版本的kubernetes,可以选择最新的“kube-install-for-k8s1.21-v0.5.0.tgz”这个包。但是我发现使用wget下载这个包比较慢,于是我把下载链接复制下来,拷贝到下载软件中进行了下载:
啊哈!这速度下载的比较快了,而且还支持断点续传下载。
[root@localhost]# cd /root/
[root@localhost]# tar -zxvf kube-install-for-k8s1.21-v0.5.0.tgz
[root@localhost]# cd /root/kube-install/
下载完毕之后上传到任意一个k8s master主机上(我们这里上传到192.168.56.81这台服务器上),然后使用“tar -zxvf”命令解压。
第二步:执行初始化操作
进入解压后的kube-install目录,使用主机root账号执行“kube-install -opt init”命令对环境进行初始化操作:
[root@localhost]# cd /root/kube-install/
[root@localhost]# ./kube-install -opt init
第三步:一键部署kubernetes集群
初始化完毕之后,就可以执行“kube-install -opt install”命令来一键部署高可用kubernetes集群啦!
[root@localhost]# ./kube-install -opt install -master "192.168.56.81,192.168.56.82,192.168.56.83" -node "192.168.56.81,192.168.56.82,192.168.56.83,192.168.56.84" -sshpwd "123456789"
*.其中sshpwd是第[1]部分所说的主机系统root密码。
第四步:登录使用kubernetes集群
安装完毕之后,你就可以使用kubernetes集群了。可以使用“kubectl get node”查看到kubernetes集群中的所有k8s node:
kube-install还默认集成了kube-dashboard和容器镜像中心。镜像中心我倒是没有使用,自带的kube-dashboard我登进去看了看:
[3] 一键扩容k8s node
kube-install还提供了一键添加新的k8s node、销毁已有k8s node、销毁已有k8s master(危险操作)、修复坏损的k8s master、卸载目标k8s集群(危险操作)等操作。
云君简单体验了一下添加新k8s node功能,将5个纯净的CentOS Linux 7服务器一键加入到kubernetes集群中,用起来还比较方便。
使用主机root账号执行“kube-install -opt addnode”命令来添加目标主机即可:
[root@localhost]# kube-install -opt addnode -node "192.168.56.101,192.168.56.102,192.168.10.9,192.168.10.17,192.168.199.18" -sshpwd "yundj123"
*.其中sshpwd是第[1]部分所说的主机系统root密码。
等待命令执行完毕之后,你就可以使用“kubectl get node”命令查看到集群中多了5个k8s node了:
[4] 更多日常运维操作
使用“kube-install help”命令可以查看到更多日常运维操作帮助信息:
还有一些其他的功能,云君暂时没有用到,有兴趣的小伙伴可以下载下来体验看看。
最新版本的kube-install是v0.7.4版本,详见https://github.com/cloudnativer/kube-install
好了,今天就介绍这么多了。
我们下期节目再见!
参考文档:
https://github.com/cloudnativer/kube-install/blob/master/README.md
https://github.com/cloudnativer/kube-install