Kubernetes cluster deployment instructions
1. Localized deployment
1.1 cubic meters
-
Kubeadm is a tool designed to provide a best-practice "fast path" to creating Kubernetes
kubeadm init
clusterskubeadm join
. -
kubeadm performs the necessary operations to get a minimum viable cluster up and running.
-
By design, it only cares about booting, not configuring the machine.
-
Likewise, installing various nice plugins, such as Kubernetes dashboards, monitoring solutions, and cloud-specific plugins, is also outside the scope.
-
Instead, we want to build higher-level and more tailored tooling on top of kubeadm, and ideally using kubeadm as the basis for all deployments will make it easier to create compliant clusters.
-
Usage reference link
- https://kubernetes.io/docs/reference/setup-tools/kubeadm/
1.2 minikube
- minikube is suitable for deploying local kubernetes cluster. This cluster is mainly used for testing purposes.
- minikube allows you to quickly deploy a kubernetes cluster on a single host
- Kubernetes clusters can be deployed across platforms (Linux, MAC, Windowsns)
1.3 Binary deployment method
- Deployment by pure human flesh method
- Enterprise production-level deployment methods
- Long deployment time
- Required configuration content:
- Certificate
- Service configuration file
- Use systemd management service to manage files
- kubeconfig
1.4 Domestic third-party deployment tools
-
rke
- Is a fast, multi-functional kubernetes cluster deployment tool
- Kubernetes cluster deployment can be quickly completed through only one configuration file
- Conveniently add hosts with any number of nodes in kubernetes
-
kubekey
-
kubeykey is a kubernetes cluster installation tool developed by KubeSphere based on the Go language. It can easily, efficiently and flexibly install Kubernetes and KubeSphere individually or as a whole. The bottom layer uses Kubeadm to install Kubernetes clusters on multiple nodes in parallel, and supports the creation, expansion and upgrade of Kubernetes clusters. .
-
KubeKey provides built-in high availability mode and supports one-click installation of high-availability Kubernetes clusters.
-
KubeKey not only helps users create clusters online, but also serves as an offline installation solution.
-
KubeKey can be used in the following three installation scenarios:
- Install Kubernetes cluster only
- Install Kubernetes and KubeSphere in one click
- If you already have a Kubernetes cluster, use ks-installer to deploy KubeSphere on it.
-
kubeasz
The project is committed to providing tools for rapid deployment of high-availability k8s clusters, and also strives to become a reference book for k8s practice and use; it is deployed based on binary methods and uses ansible-playbook to achieve automation; it not only provides one-click installation scripts, but also can be divided according to the installation guide Install each component step by step.
- Cluster features TLS two-way authentication, RBAC authorization, multi-Master high availability, support for Network Policy, backup and recovery, and offline installation
- Cluster version kubernetes v1.20, v1.21, v1.22, v1.23
- Operating system CentOS/RedHat 7, Debian 9/10, Ubuntu 16.04/18.04/20.04
- Runtime docker 19.03.x, 20.10.x containerd v1.5.8
- Network calico, cilium, flannel, kube-ovn, kube-router
- Project code hosting website: https://github.com/easzlab/kubeasz
2. Public cloud platform deployment
2.1 Public cloud platforms provide container cloud services
- Ali Cloud
- ACK
- Huawei Cloud
- CCE
- Tencent Cloud
- EX
2.2 Deployment on public cloud platform
- kubeadm
- minikube
- Deployment in binary mode
- rke
- kubekey
- kubeasz
topnbtfE-1683548054961)]
2.2 Deployment on public cloud platform
- kubeadm
- minikube
- Deployment in binary mode
- rke
- kubekey
- kubeasz