分享一个最近写的工具:使用 kainstall 工具一键部署 kubernetes 高可用集群
資深大佬 : lework1234 5
介绍
kainstall = kubeadm install kubernetes
使用 shell 脚本, 基于 kubeadm 一键部署 kubernetes HA 集群
https://github.com/lework/kainstall
为什么?
为什么要搞这个? Ansible PlayBook 不好么?
因为懒,Ansible PlayBook 编排是非常给力的,不过需要安装 Python 和 Ansible, 且需要下载多个 yaml 文件 。因为懒,我想要个更简单的方式来快速部署一个分布式的 Kubernetes HA 集群, 使用 shell 脚本可以不借助外力直接在服务器上运行,省时省力。 并且 shell 脚本只有一个文件,文件大小不到 100 KB,非常小巧,可以实现一条命令安装集群的超快体验,而且配合离线安装包,可以在不联网的环境下安装集群,这体验真的非常爽啊。
一键初始化
bash -c "$(curl -sSL https://cdn.jsdelivr.net/gh/lework/kainstall/kainstall.sh)" - init --master 192.168.77.130,192.168.77.131,192.168.77.132 --worker 192.168.77.133,192.168.77.134 --user root --password 123456 --port 22 --version 1.19.2
离线部署
wget http://kainstall.oss-cn-shanghai.aliyuncs.com/1.17.13/centos7.tgz bash -c "$(curl -sSL https://cdn.jsdelivr.net/gh/lework/kainstall/kainstall.sh)" - init --master 192.168.77.130,192.168.77.131,192.168.77.132 --worker 192.168.77.133,192.168.77.134 --user root --password 123456 --port 22 --version 1.19.2 --offline-file centos7.tgz
更多离线包: kainstall-offline 仓库
支持功能
- 服务器初始化。
- 关闭
selinux - 关闭
swap - 关闭
firewalld - 关闭大内存页
- 配置
epel源 - 修改
limits - 配置内核参数
- 配置
history记录 - 配置
journal日志 - 配置
chrony时间同步 - 安装
ipvs模块 - 更新内核
- 关闭
- 安装
docker,kube组件。 - 初始化
kubernetes集群,以及增加或删除节点。 - 安装
ingress组件,可选nginx,traefik。 - 安装
network组件,可选flannel,calico, 需在初始化时指定。 - 安装
monitor组件,可选prometheus。 - 安装
log组件,可选elasticsearch。 - 安装
storage组件,可选rook。 - 安装
web ui组件,可选dashboard。 - 升级到
kubernetes指定版本。 - 更新证书。
- 添加运维操作,如备份 etcd 快照。
- 支持离线部署。
大佬有話說 (5)