[安装K8S]Kube-Install一键离线安装多K8S集群,支持命令行和Web定时安装

如果你需要在离线环境中比较方便的安装部署与扩容多套kubernetes集群,不妨使用我接下来介绍的这款工具。

图片

Kube-Install是一键离线安装kubernetes集群的工具,支持Web界面和定时安装,它采用二进制方式同时并发进行多套kubernetes集群的部署,无需事先在目标主机上安装任何软件,只需要纯净的裸机即可完成部署。Kube-Install同时支持Web界面和命令行等多种安装模式,此外还有定时计划、Web终端、一键扩容节点等功能。接下来,云君就来和大家一起体验一下部分功能吧。

[1] 获取软件包

1.1 兼容性说明

kube-install支持CentOS 7、CentOS 8、SUSE 15、Ubuntu20、RHEL 7和RHEL 8等主流的发行版操作系统环境。

项目支持的版本
支持的k8s版本kubernetes v1.23, v1.22, v1.20, v1.19, v1.18, v1.17, v1.16, v1.15, v1.14
支持的操作系统CentOS 7 , RHEL 7 , CentOS 8 , RHEL 8 , SUSE Linux 15 , Ubuntu 20

1.2 下载软件包

你可以从 https://github.com/cloudnativer/kube-install/releases 这里下载kube-install-*.tgz软件包。
举例,下载kube-install-allinone-v0.7.3.tgz软件包进行安装:

# cd /root/# curl -O https://github.com/cloudnativer/kube-install/releases/download/v0.7.3/kube-install-allinone-v0.7.3.tgz# tar -zxvf kube-install-allinone-v0.7.3.tgz# cd /root/kube-install/

      注意:由于软件包在Github上,如果你本地的网络环境不是太好的话,建议你使用支持断点续传的下载软件进行软件包下载,这样可以获得更好的下载体验。

[2] 通过命令行安装K8S

Kube-install支持Web界面和命令行多种安装模式,下面云君先体验一下命令行的安装模式。

假设你现在有4台服务器,你想将k8s-master安装在三台服务器(192.168.1.11、192.168.1.12、192.168.1.13)上,将k8s-node安装在四台服务器(192.168.1.11、192.168.1.12、192.168.1.13、192.168.1.14)上。服务器的操作系统是纯净的CentOS Linux或RHEL(RedHat Enterprise Linux),具体如下表所示:

IP地址想要安装的组件操作系统版本root密码
192.168.1.11k8s-master,k8s-node,kube-installCentOS Linux release 7cloudnativer
192.168.1.12k8s-master,k8s-nodeCentOS Linux release 7cloudnativer
192.168.1.13k8s-master,k8s-nodeCentOS Linux release 7cloudnativer
192.168.1.14k8s-nodeCentOS Linux release 7cloudnativer

安装后的部署架构如下图所示:

图片

      注意:这里使用192.168.1.11作为kube-install源安装机。事实上,您可以将任何主机(包括kubernetes集群之外的任何主机)用来作为kube-install源安装机!

2.1 初始化系统环境

首先你需要使用root用户对kube-install源安装机本地环境进行初始化操作,进入解压后的软件目录执行kube-install -init命令:

# cd /root/kube-install/# ./kube-install -init -ostype "centos7"

      注意:在做初始化操作的时候,请确保-ostype参数设置正确。

2.2 打通到目标主机的SSH通道

在你开始给目标主机安装kubernetes集群之前,请先打通kube-install源安装机本地到目标主机的SSH免密通道。你可以自己手工打通到目标主机的SSH通道,也可以通过`kube-install -exec sshcontrol`命令来打通:

# cd /root/kube-install/# ./kube-install -exec sshcontrol -sship "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpass "cloudnativer"

你也可以通过kube-install的Web管理平台来打通到目标主机的SSH通道。

2.3 一键安装部署K8S集群

在kube-install源安装机上使用root用户执行下面这台命令即可:

# cd /root/kube-install/# ./kube-install -exec install -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -k8sver "1.22" -ostype "centos7" -label "192168001011"

另外,如果你需要自定义制定Kubernetes集群安装在目标主机上的目录路径的话,可以带上-softdir参数来设置。

2.4 登录kube-dashboard界面

kube-install默认会自动部署好kube-dashboard,部署完毕之后,你就可以使用kube-dashboard的登录地址和密钥来登录了:

图片

 现在你就可以使用内置的kube-dashboard来管理kubernetes集群了。kubernetes集群已经搭建好了,当然你也可以在搭建好的kubernetes集群上安装更多的其他工具来进行管理。

[3] 通过Web界面安装K8S

你除了可以使用上面的命令行来一键安装kubernetes集群外,还可以通过kube-install的Web管理平台来安装kubernetes集群。

kube-install的Web管理平台具备SSH打通、定时安装部署、Node扩容、Master修复、集群卸载等更多强大的功能,你可以在Web管理平台上获得更好的安装体验。

3.1 初始化系统环境

首先你需要使用root用户对kube-install源安装机本地环境进行初始化操作,进入解压后的软件目录执行“kube-install -init”命令:​​​​​​​

# cd /root/kube-install/# ./kube-install -init -ostype "centos7"

      注意:在做初始化操作的时候,请确保-ostype参数设置正确。

3.2 运行kube-install的Web管理服务

然后,执行“systemctl start kube-install”命令来运行kube-install的Web管理平台服务。​​​​​​​

# cd /root/kube-install/# ./kube-install -init -ostype "centos7"## systemctl start kube-install.service## systemctl status kube-install.service  ● kube-install.service - kube-install One click fast installation of highly available kubernetes cluster.     Loaded: loaded (/etc/systemd/system/kube-install.service; disabled; vendor preset: disabled)     Active: active (running) since Fri 2021-08-20 14:30:55 CST; 21min ago       Docs: https://cloudnativer.github.io/   Main PID: 2768 (kube-install)     CGroup: /system.slice/kube-install.service             └─2768 /go/src/kube-install/kube-install -daemon   ...

此时,你就可以使用网页浏览器打开“http://kube-install源安装机IP:9080”,访问kube-install的Web管理平台了。

      注意:kube-install的Web管理平台服务默认监听TCP 9080。如果你想修改这个监听地址的话,可以通过修改/etc/systemd/system/kube-install.service文件中的“kube-install -daemon -listen ip:port”参数来进行设置。

3.3 在Web界面上安装K8S

然后,点击Web界面右上角的的Install Kubernetes按钮开始kubernetes集群的安装。

图片

在弹出的安装表单窗口中填写好安装所需的参数信息:

图片

选择好你的操作系统环境和你需要安装的kubernetes版本。

图片

 如果不设置定时安装的话,默认为立即开始安装。你如果想进行定时安装,也可以在下方的选择定时安装的日期与时间。如果你设置了定时安装的话,你还可以在工具菜单中通过日程工具查看定时安装日历:

图片

       注意:在你开始给目标主机安装kubernetes集群之前,请先打通kube-install源安装机本地到目标主机的SSH免密通道。你可以自己手工打通到目标主机的SSH通道,也可以点击右上角的“Open SSH Channel of Host”按钮来进行打通。

图片

 安装中的Kubernetes集群会显示为“Installing”状态,你可以通过点击右边的“Install Log”来查看安装的过程日志信息。

安装成功之后,kubernetes集群后面对应的安装状态会显示为"OK"状态,在右侧会自动出现这个kubernetes集群所对应的“kube-dashboard”、“Node Management”等按钮,你可以通过这些功能来管理对应的kubernetes集群。

另外,你还可以通过kube-install的首页查看到各kubernetes集群的一些安装部署概要统计信息:

图片

[4] 扩容与销毁节点

4.1 一键扩容K8S节点

Kube-install不仅可以很方便的安装单机和高可用的kubernetes集群,还可以支持k8s-node的扩容与销毁、k8s-master的销毁与修复、kubernetes集群的卸载等。

举例,现在需要给第[2]章节中安装好的kubernetets集群,增加2个k8s-node节点(192.168.1.15 and 192.168.1.16),相关信息如下:

IP地址想要安装的组件操作系统版本root密码
192.168.1.11k8s-master,k8s-node,kube-installCentOS Linux release 7cloudnativer
192.168.1.12k8s-master,k8s-nodeCentOS Linux release 7cloudnativer
192.168.1.13k8s-master,k8s-nodeCentOS Linux release 7cloudnativer
192.168.1.14k8s-nodeCentOS Linux release 7cloudnativer
192.168.1.15k8s-nodeCentOS Linux release 7cloudnativer
192.168.1.16k8s-nodeCentOS Linux release 7cloudnativer

在kube-install源主机上使用root用户执行如下命令:

# kube-install -exec addnode -node "192.168.1.15,192.168.1.16" -k8sver "1.22" -ostype "centos7" -label "192168001011"

另外,如果你需要自定义制定Kubernetes集群安装在目标主机上的目录路径的话,可以带上“-softdir”参数来设置。

除了使用“kube-install -exec addnode”命令进行k8s-node节点扩容外,你也可以在kube-install的Web管理平台上,点击web界面上的“Add Node”按钮来对k8s-node节点进行扩容。

图片

正在添加中的k8s-node节点会显示“Installing”状态,扩容完毕之后会显示“OK”状态。本次扩容完毕之后,部署架构会变成如下图所示这样:

图片

在运维各个K8S节点的过程中,你可以随时启用Web终端来登录到任意一台节点服务器上,进行基本的维护操作:

图片

       注意:当你不需要使用Web终端的时候,你也可以点击“Disable Terminal”来随时禁用它。

4.2 一键销毁K8S节点

如果你想销毁k8s集群中的k8s-node节点,可以使用“kube-install -exec delnode”命令。执行下面的命令,将会把Kubernetes集群中的两个k8s-node节点销毁掉(包括这两个主机上的kubelet、kube-proxy、docker等k8s-node相关软件):

# kube-install -exec delnode -node "192.168.1.13,192.168.1.15" -label "192168001011"

除了使用命令行进行销毁外,你也可以在kube-install的Web管理平台上,点击web界面上的“Delete Node”按钮来销毁k8s-node节点。

销毁完毕之后的部署架构如下图所示:

图片

4.3 更多操作

此外,kube-install还支持销毁与修复受损的k8s-master节点,你可以访问https://github.com/cloudnativer/kube-install/blob/master/docs/operation0.7.md查看更多操作。

[5] 一键卸载K8S集群

执行下面的命令,将会卸载整个Kubernetes集群(包含集群中指定的k8s-master和k8s-node上的相关软件)

# kube-install -exec uninstall -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -label "192168001011"

      注意:如果你在安装Kubernetes集群的时候带上了“-softdir”参数来自定义安装目录路径的话,在卸载Kubernetes集群的时候也应该带上“-softdir”参数来指定安装目录路径,否则可能导致卸载不彻底。

图片

除了使用命令行进行Kubernetes集群卸载外,你也可以在kube-install的Web管理平台上点击每个集群后面的“Uninstall”按钮来完成Kubernetes集群的卸载操作,卸载中的Kubernetes集群会显示为“Uninstalling”状态,你可以通过点击右边的“Uninstall Log”来查看卸载的过程日志信息。

[6] kube-install命令行帮助

你可以随时使用“kube-install -help”或“kube-install -h”命令来获取kube-install的简易使用帮助文档。

参考文档:

  • https://github.com/cloudnativer/kube-install/blob/master/README.md

  • https://github.com/cloudnativer/kube-install/blob/master/docs/operation0.7.md

  • https://github.com/cloudnativer/kube-install/blob/master/docs/parameters0.7.md

  • https://cloudnativer.github.io/kube-install.html

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值