1 Minikube
Minikube是由Kubernetes社區維護的單機版的Kubernetes集群快速部署工具,目前支持MacOS、Linux以及Windows等多種操作系統平台,非常適合在自己的筆記本上作為Kubernetes入門環境或作為開發測試環境使用,當然由於只支持單節點不支持高可用因此不能用於生產部署。
由於支持跨平台,但是我們知道MacOS以及Windows是不支持直接運行容器的,因此Minikube默認會啟動一個Linux虛擬機,然后在虛擬機上通過kubeadm部署Kubernetes集群,關於kubeadm工具下面將會介紹。當然如果運行的OS本身就是Linux系統,則可以通過指定--vm-driver=none參數直接部署Kubernetes集群在操作系統上,不需要虛擬機,不過需要自己手動部署Docker。使用Minikube部署單節點Kubernetes非常簡單,可以參考官方文檔,這里不再介紹。
https://github.com/kubernetes/minikube
https://minikube.sigs.k8s.io/docs/start/
你可能遇到的問題:https://blog.csdn.net/liuxinshihua/article/details/109333383
# 安裝 minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 指定版本
# curl -LO https://storage.googleapis.com/minikube/releases/v1.18.0/minikube-linux-amd64
# 查看版本
minikube version
# 不能使用root 新建個賬號吧
useradd zhan
passwd zhan 123456
su zhan
# 啟動集群
minikube start
# 獲取全局上下文
kubectl config get-contexts
# 顯示集群信息
kubectl cluster-info
2. kind
kind是Kubernetes社區新維護的一個本地測試環境快速部署工具,除了用於本地測試,未來還可能用於做Kubernetes本身的CI集成測試。目前kind工具仍處於開發階段,可以查看版本1.0的roadmap。
如kind的官方Logo所示,kind把Kubernetes的Node節點運行在Docker容器上,因此需要提前安裝Docker。
3 kops
kops是生產級別的Kubernetes集群部署、升級和管理命令行工具,它主要用於在公有雲平台上通過Terraform自動創建虛擬機作為節點並自動化部署Kubernetes集群,目前官方支持的公有雲平台為AWS,GCE、DigitalOcean、OpenStack目前處於beta階段。
國內fitcloud開源的KubeOperator也是一個類似的工具,通過Web UI在VMware、OpenStack和物理機上規划、部署和運營生產級別的Kubernetes集群。
4 kubespray
Kubespray使用Ansible部署生產級別的Kubernetes集群。對於已經了解Ansible的人們來說,該工具是一個不錯的選擇,因為無需使用其他工具進行預配和編排。
5 kubeadm
kubeadm是和Kubernetes一塊發布的集群部署工具,與Kubernetes在同一個代碼倉庫中,因此可以說kubeadm是Kubernetes最親的部署工具,目前使用最多的,同時也是社區最為推薦的Kubernetes部署工具。
該工具的目標是實現盡可能簡單地部署符合最佳實踐、滿足基本安全合規要求的Kubernetes高可用集群,因此基本不需要太多的配置,就能快速的部署一套生產可用的Kubernetes集群。另外其實很多其他的部署工具也都是基於kubeadm實現的,前面提到的minikube、kind等工具都是基於kubeadm實現的。
參考:https://www.cnblogs.com/year12/p/15319813.html
6 部署工具對比
除了以上介紹的部署工具,還有很多其他的部署工具,這些工具中:
minikube和kind主要用於單機測試,一般不用於生產部署。
kops主要用於在IaaS雲平台上部署集群,如果在公有雲上部署可以嘗試使用這個工具。
kubespray需要依賴Ansible自動化工具,如果熟悉Ansible可以嘗試使用。
kubeadm是Kubernetes項目自帶的部署工具,社區最為推薦並且目前使用最多的工具,該工具基本不依賴外部工具,也基本不需要額外配置就可以快速搭建一個符合最佳實踐的Kubernetes平台。