云君把玩过市场上的许多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

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐