6個在本地機器上執行 Kubernetes 的工具

banq發表於2021-08-15

Kubernetes 是一項龐大而複雜的技術,它顯然需要一些時間和奉獻精神來解決。沒有供應商鎖定意味著無論您在哪個託管雲平臺上使用它,它都執行相同。這意味著在本地使用它與在雲上使用它沒有什麼不同。
有多種工具可以在本地機器上執行 Kubernetes,但基本上可以歸結為兩種方法:
  1. 從單個二進位制包執行它
  2. 在 Docker (DinD) 中使用 Docker 將其作為容器執行


Kubernetes 市場:在我們繼續討論所有工具之前,如果您將其安裝arkade在您的機器上將是有益的。它將幫助您使用單個命令獲取這些工具。
curl -sLS https://get.arkade.dev | sudo sh
 
此處列出的所有工具或多或少都提供相同的功能,包括但不限於:

  1. 多節點叢集
  2. 持久卷
  3. 聯網
  4. 證書
  5. 裸機支援
  6. 儀表板
  7. Kubernetes 版本
  8. 附加元件
  9. 跨平臺
  10. 跟蹤上游 Kubernetes

  

k3s
k3s 是 Rancher Labs 的輕量級 Kubernetes 發行版。它專門針對在 IoT 和 Edge 裝置上執行,這意味著它非常適合您的 Raspberry Pi 或虛擬機器。
它帶有一個僅 <40 MB 的二進位制檔案,佔用的 RAM 低至 500 MB。
您可以使用k3sup快速引導 k3s

arkade get k3sup

 

k0s
顧名思義,您可能認為它是 k3s 的精簡版,但它是來自一家名為 Mirantis 的完全不同公司的完全不同的發行版。與名稱相反,它有一個更大的二進位制檔案,150 MB+。
它可以作為二進位制或 DinD 模式執行。k0s 非常重視安全性,開箱即用,它符合FIPS 合規性。雖然,一個新的發行版,k0s 已經達到了生產就緒狀態,所以開發使用不會有問題。

arkade get k0s

 

Microk8s
MicroK8s 是 Ubuntu 背後的公司 Canonical 的 Kubernetes 發行版。你已經看到了這一點;它只能使用snap. 它帶有大量附加元件,如 Fluentd、Grafana 和 Prometheus。
如果您使用的是 Ubuntu 或其衍生產品snap,那麼使用 MicroK8s 會感到賓至如歸。

sudo snap install microk8s --classic

 
 
在 Docker 內部執行 Docker(有人開始?)是引導 Kubernetes 的一種流行方式。Docker 的隔離特性使得在單臺機器上執行多節點叢集變得輕而易舉,並且還確保執行的例項不會影響機器本身。

minikube
儘管執行在 Docker 和類似的容器技術之上,但minikube 的執行方式非常靈活,並支援多種虛擬化驅動程式,使其能夠適應不同的計算環境。其中包括 KVM2、Virtualbox、Podman、Hyperkit、Hyper-V 等等。

arkade get minikube

 
Docker 中的KinD Kubernetes (KinD) 類似於 minikube,但它不會生成 VM 來執行叢集,並且只能與 Docker 一起使用。在大多數情況下,KinD 的花裡胡哨最少,並提供直觀的開發人員體驗,可以立即開始使用 Kubernetes。

arkade get kind

 

k3d
k3d 基本上是在 Docker 內部執行 k3s。與在本地機器上使用 k3s 相比,它提供了一個即時的好處,即多節點叢集。在 Docker 內部執行,我們可以輕鬆生成 k3s 節點的多個例項。

arkade get k3d


 

結論
無論您選擇單個二進位制包還是 DinD 方法,Kubernetes 都非常易於訪問。對於新學習者來說,入門門檻低,反饋迴圈是即時的。
我希望本文對決定使用哪種工具來執行本地 Kubernetes 例項有所幫助。

 

相關文章