Introduction
kainstall = kubeadm install kubernetes
Deploy kubernetes clusters with shell scripts, based on kubeadm, with one click.
Why?
What’s wrong with Ansible PlayBook?
Ansible PlayBook scheduling is very powerful, but requires Python and Ansible to be installed, and multiple yaml files to be downloaded. I want an easier way to quickly deploy a distributed Kubernetes HA cluster, using shell scripts that run directly on the server without external help, saving time and effort. The shell script is a single file, less than 100 KB*, which is very small and allows you to install the cluster with a single command, and with the offline installer, you can install the cluster in a non-networked environment, which is a very cool experience.
Features
- Server initialization.
- Shut down
selinux. - Close
swap - Close
firewalld - Close large memory pages
- Configuring the
epelsource - Modify
limits - Configuring Kernel Parameters
- Configure
historyrecords. - Configuring the
journallog - Configuring
chronytime synchronization - Installing
ipvsmodules - Updating the kernel
- Shut down
- Install
docker,kubecomponents. - Initialize
kubernetescluster, and add or remove nodes. - Install the
ingresscomponent, optionallynginx,traefik. - Install the
networkcomponent, with options forflannelandcalico, which should be specified during initialization. - Install the
monitorcomponent, optionallyprometheus. - Install the
logcomponent, optionallyelasticsearch. - Install the
storagecomponent, optionallyrookandlonghorn. - Install the
web uicomponent, optionallydashboard,kubesphere. - Upgrade to the specified version of
kubernetes. - Update cluster certificates.
- Add maintenance operations, such as backup of etcd snapshots.
- Support for offline deployments.
- Support for sudo privileges.
- Support for 10 year certificate duration.
- Support for environment variable assignment.
- Support for kubernetes for v1.15.x+.
One-click initialization.
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
For more operations see: kainstall Warehouse