k8s (2): Introduction to Kubernetes cluster deployment

1. Localized deployment

1.1 cubic meters

image-20220324204203839

  • Kubeadm is a tool designed to provide a best-practice "fast path" for creating Kubernetes kubeadm initclusters kubeadm join.

  • kubeadm performs the necessary operations to get the smallest viable cluster up and running .

  • By design, it's only concerned with bootstrapping, not configuring the machine. So there are a lot of pre-preparations.

  • Likewise, installing various nice addons like Kubernetes dashboards, monitoring solutions, and cloud-specific addons is out of scope.

  • Instead, we want to build higher level and more tailored tools on top of kubeadm, ideally using kubeadm as the basis for all deployments will make it easier to create clusters that meet the requirements.

  • Usage reference link

1.2 minikube

  • minikube is suitable for deploying local kubernetes cluster, this cluster is mainly used for testing purposes
  • minikube can quickly let you deploy a kubernetes cluster on a single host
  • Can deploy kubernetes cluster across platforms (Linux, MAC, Windowns)

1.3 Binary deployment method

  • Deployment in a purely human way
  • Enterprise production-level deployment
  • long deployment time
  • Need to configure content:
    • Certificate
    • service profile
    • Manage files with the systemd management service
    • kubeconfig

1.4 Domestic third-party deployment tools

rke

  • Is a fast, versatile kubernetes cluster deployment tool
  • Quickly complete kubernetes cluster deployment with only one configuration file
  • It is convenient to add hosts with any number of nodes in kubernetes

kubekey

image-20220324205307087
  • 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 in parallel on multiple nodes, and supports the creation, scaling and upgrading of Kubernetes clusters. .

  • KubeKey provides a built-in high-availability mode and supports one-click installation of a high-availability Kubernetes cluster.

  • 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:

    • Only install the Kubernetes cluster
    • One-click installation of Kubernetes and KubeSphere
    • Existing Kubernetes cluster, use ks-installer to deploy KubeSphere on it

kubeasz

image-20220324205820518

​ The project is committed to providing tools for quickly deploying high-availability k8s clusters, and at the same time strives to become a reference book for k8s practice and use; deploy based on binary mode and use ansible-playbook to realize automation; provide a one-click installation script, or follow the installation guide Step by step to install each component.

  • Cluster features TLS two-way authentication, RBAC authorization, multi-master high availability, support for Network Policy, backup and recovery, offline installation
  • Cluster version kubernetes v1.20, v1.21, v1.22, v1.23, etc.
  • Operating SystemCentOS/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 URL: https://github.com/easzlab/kubeasz

2. Public cloud platform deployment

2.1 The public cloud platform provides container cloud services

  • Ali Cloud
    • ACK

image-20220324210529285

  • Huawei Cloud
    • CCE

image-20220324210634327

  • Tencent Cloud
    • EX

image-20220324210727688

2.2 Deploy on the public cloud platform

  • kubeadm
  • minikube
  • Binary deployment
  • rke
  • kubekey
  • kubeasz

Guess you like

Origin blog.csdn.net/polaris3012/article/details/130151445