手记

使用kubei一步部署k8s高可用集群(包含docker安装、k8s组件安装、master初始化和加入nodes节点)

kubei (kubernetes installer) 是一个go开发的用来部署kubernetes高可用集群的命令行工具,该工具可在WindowsLinuxMac中运行

kubei原理:通过ssh连接到集群服务器,进行容器引擎安装、kubernetes组件安装、主机初始化配置、本地负载均衡器部署、调用kubeadm初始化集群master、调用kubeadm将主机加入节点

支持使用普通用户(sudo用户)连接集群服务器进行安装部署,支持通过堡垒机连接集群服务器

版本支持

应用 版本
kubernetes 1.16.X、1.17.X
容器引擎 目前只支持docker 18.09.X、19.XX.XX
网络插件 目前只支持flannel 0.11.0

快速开始

实际部署中建议使用同一发行版的Linux系统,这里使用两种系统主要是为了体现兼容性

主机 集群角色 系统版本
10.3.0.10 master Ubuntu 18.04.3 LTS
10.3.0.11 master Ubuntu 16.04.6 LTS
10.3.0.12 master CentOS 7.4
10.3.0.20 worker CentOS 7.7
10.3.0.21 worker Ubuntu 18.04.3 LTS

下载kubei二进制文件

KUBEI_VERSION=0.1.2
wget https://github.com/yuyicai/kubei/releases/download/v${KUBEI_VERSION}/kubei_${KUBEI_VERSION}_Linux_x86_64.tar.gz -O kubei.tar.gz
tar xf kubei.tar.gz
chmod +x kubei

执行部署命令:

默认使用root用户和22端口,如果需要使用普通用户和其它ssh端口,请查看ssh用户参数说明

如果要用密码做ssh登录验证,请查看ssh用户参数说明

./kubei init --key=$HOME/.ssh/k8s.key \
 --masters 10.3.0.10,10.3.0.11,10.3.0.12 \
 --workers 10.3.0.20,10.3.0.21 \
 --skip-headers

部署过程:

部署结果:

NAME        STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
10.3.0.10   Ready    master   58s   v1.17.0   10.3.0.10     <none>        Ubuntu 18.04.3 LTS      4.15.0-66-generic            docker://19.3.5
10.3.0.11   Ready    master   21s   v1.17.0   10.3.0.11     <none>        Ubuntu 16.04.6 LTS      4.4.0-142-generic            docker://19.3.5
10.3.0.12   Ready    master   28s   v1.17.0   10.3.0.12     <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.2.el7.x86_64   docker://19.3.5
10.3.0.20   Ready    <none>   34s   v1.17.0   10.3.0.20     <none>        CentOS Linux 7 (Core)   3.10.0-693.2.2.el7.x86_64    docker://19.3.5
10.3.0.21   Ready    <none>   11s   v1.17.0   10.3.0.21     <none>        Ubuntu 18.04.3 LTS      4.15.0-66-generic            docker://19.3.5

更多安装示例(指定安装版本,使用堡垒机连接等)

0人推荐
随时随地看视频
慕课网APP