為了後續動手實際操作K8s,首先需要先理解相關工具,這篇用來說明各個工具的原理與優劣,安裝細節可參考官網文件。
透過在本機建置虛擬機,預設情況下,會模擬出具有單節點的k8s叢集,亦可透過更改配置來建立多節點叢集,支援所有主要作業系統。
如上可知,Minikube的缺點不外乎是資源消耗大、啟動速度較慢,因此,近來也支援另一個類似Docker驅動的方式
vm-driver=podman
此外,Minikube提供addons
來擴展功能,如dashboard、ingress等,透過將該addon
enable或disable來啟動或關閉。
可透過GitHub下載
一個輕量級工具,將K8s叢集視為Docker容器來運行,因此速度上更快速。Kind內部使用kubeadm來設定節點,具體來說,它在第一個Master節點上執行kubeadm init
,也可透過更改配置來自定。
Kind使用容器來模擬節點,如下架構圖,在容器內部運行Systemd,Systemd負責託管kubelet和container runtime,容器內部的kubelet
則負責啟動其他k8s元件。
用來建立K8s叢集的一種快速工具,如kubeadm init
初始化叢集、kubeadm join
創建工作節點並加入到叢集中。
是K8s中用來與叢集做溝通的Command Line工具,諸如取得各種資源訊息、配置運行資源以及刪除資源等,後續會透過kubectl
來與api server要求操作K8s叢集。
每個工具都有其適合的不同場景,故理解其原理與運作模式是有其必要性的。