1. 程式人生 > 其它 >Kubernetes常見部署工具介紹及比較

Kubernetes常見部署工具介紹及比較

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非常簡單,可以參考官方文件,這裡不再介紹。

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平臺。


Nice to see you all!