使用 kainstall 工具一键安装 kubernetes (k8s) 高可用集群

介绍

kainstall = kubeadm install kubernetes

使用 shell 脚本, 基于 kubeadm 一键部署 kubernetes HA 集群, 轻松帮您打造一个可在 生产环境 下使用的健壮集群。

https://github.com/lework/kainstall

为什么?

为什么要搞这个?Ansible PlayBook 不好么?

因为懒,Ansible PlayBook 编排是非常给力的,不过需要安装 Python 和 Ansible, 且需要下载多个 yaml 文件 。因为懒,我想要个更简单的方式来快速部署一个分布式的 Kubernetes HA 集群, 使用 shell 脚本可以不借助外力直接在服务器上运行,省时省力。 并且 shell 脚本只有一个文件,文件大小120 KB 左右,非常小巧,可以实现一条命令安装集群的超快体验,而且配合离线安装包,可以在不联网的环境下安装集群,这体验真的非常爽啊。

功能

  • 支持 centos, debian, ubuntu 系统。
  • 服务器初始化。
    • 关闭 selinux
    • 关闭 swap
    • 关闭 firewalld
    • 配置 epel
    • 修改 limits
    • 配置内核参数
    • 配置 history 记录
    • 配置 journal 日志
    • 配置 chrony 时间同步
    • 添加 ssh-login-info 信息
    • 配置 audit 审计
    • 安装 ipvs 模块
    • 更新内核
  • 安装kube组件。
  • 初始化kubernetes集群,以及增加或删除节点。
  • 安装ingress组件,可选nginxtraefik
  • 安装network组件,可选flannelcalicocilium
  • 安装monitor组件,可选prometheus
  • 安装log组件,可选elasticsearch
  • 安装storage组件,可选rooklonghorn
  • 安装web ui组件,可选dashboard, kubesphere
  • 安装addon组件,可选metrics-server, nodelocaldns
  • 安装cri组件,可选docker, containerd, cri-o
  • 升级到kubernetes指定版本。
  • 更新集群证书。
  • 添加运维操作,如备份 etcd 快照。
  • 支持离线部署
  • 支持sudo 特权
  • 支持10 年证书期限
  • 支持脚本更新。

一键初始化

bash -c "$(curl -sSL https://cdn.jsdelivr.net/gh/lework/kainstall@master/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,192.168.77.135 \
  --user root \
  --password 123456 \
  --port 22 \
  --version 1.20.4

更多操作见: kainstall 仓库

离线部署

wget http://kainstall.oss-cn-shanghai.aliyuncs.com/1.20.4/centos7.tgz

bash -c "$(curl -sSL https://cdn.jsdelivr.net/gh/lework/kainstall@master/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,192.168.77.135 \
  --user root \
  --password 123456 \
  --port 22 \
  --version 1.20.4 \
  --offline-file centos7.tgz 

更多离线包: kainstall-offline 仓库

联系

创建了一个 QQ 群 467645743 大家有问题的可以加进来。

评论列表
lework 发表于 2021年09月18日

支持,kainstall 非常值得一用。