介绍
kainstall = kubeadm install kubernetes
使用 shell 脚本, 基于 kubeadm 一键部署 kubernetes 集群
https://github.com/lework/kainstall
为什么?
为什么要搞这个?Ansible PlayBook 不好么?
因为懒,Ansible PlayBook 编排是非常给力的,不过需要安装 Python 和 Ansible, 且需要下载多个 yaml 文件 。因为懒,我想要个更简单的方式来快速部署一个分布式的 Kubernetes HA 集群, 使用 shell 脚本可以不借助外力直接在服务器上运行,省时省力。 并且 shell 脚本只有一个文件,文件大小不到 100 KB,非常小巧,可以实现一条命令安装集群的超快体验,而且配合离线安装包,可以在不联网的环境下安装集群,这体验真的非常爽啊。
功能
- 服务器初始化。
- 关闭
selinux
- 关闭
swap
- 关闭
firewalld
- 关闭大内存页
- 配置
epel
源 - 修改
limits
- 配置内核参数
- 配置
history
记录 - 配置
journal
日志 - 配置
chrony
时间同步 - 安装
ipvs
模块 - 更新内核
- 关闭
- 安装
docker
,kube
组件。 - 初始化
kubernetes
集群,以及增加或删除节点。 - 安装
ingress
组件,可选nginx
,traefik
。 - 安装
network
组件,可选flannel
,calico
, 需在初始化时指定。 - 安装
monitor
组件,可选prometheus
。 - 安装
log
组件,可选elasticsearch
。 - 安装
storage
组件,可选rook
,longhorn
。 - 安装
web ui
组件,可选dashboard
,kubesphere
。 - 升级到
kubernetes
指定版本。 - 更新集群证书。
- 添加运维操作,如备份etcd快照。
- 支持离线部署。
- 支持sudo特权。
- 支持10年证书期限。
- 支持环境变量赋值。
一键初始化
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.3
更多操作见: kainstall 仓库
离线部署
wget http://kainstall.oss-cn-shanghai.aliyuncs.com/1.19.3/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.3 \
--offline-file centos7.tgz
更多离线包: kainstall-offline 仓库
联系
创建了一个 QQ群 467645743 大家有问题的可以加进来。
网友评论