從您的本地機器開始學習Kubernetes
譯文【51CTO.com快譯】朋友和熟人常問我可以從哪里開始學習Kubernetes、如何開始學習。提這些問題的包括仍在處理虛擬機和整體式應用程序等舊系統的運維和開發人員。CI/CD和DevOps之類的術語對他們來說不過是流行語,他們仍在忙于照顧舊系統,這是其日常工作所需要的。
現在他們注意到越來越多的工作負載從虛擬機遷移到容器,并按照微服務重新設計整體式應用程序的架構,以便輕松處理創新并響應快速的市場需求?,F在是他們學習導致大規模遷移到Kubernetes的工具、平臺和解決方案的時候了。
Kubernetes是什么?
學習Kubernetes時要做的第一件事是找到關于它的清晰解釋。您可以利用很多書籍和YouTube參考資料獲得最基本的解釋,我認為《圖解Kubernetes兒童指南》這段YouTube視頻對Kubernetes作了最好的解釋,建議先看一下。
Kubernetes組件
Kubernetes不是一臺機器,而是一個平臺。部署Kubernetes時,您將獲得一個集群。集群由運行容器化應用程序的一組主控機器和worker機器(名為節點)組成。每個集群至少有一個worker節點。這些是Kubernetes組件。
下面是Kubernetes將所有組件捆綁在一起的樣子。
圖1. Kubernetes集群組件示意圖
如何開始?
學習Kubernetes時,您需要部署一個集群。但這對于無法獲得額外硬件,抽不出時間來安裝硬件以及所需網絡和計算資源的人來說將是一個挑戰。這個要求常常使Kubernetes之旅還未開始就已經脫軌。那么最好的開始方式是什么呢?
幸好有多個開源項目讓您可以從筆記本電腦部署Kubernetes集群。不妨先看一看那些項目,然后我提出自己的意見,表明哪個是學習Kubernetes并部署第一個云原生應用程序的優選方法。
本地Kubernetes項目挺身而出
這些是您可以用來探索Kubernetes的本地項目。請注意,這些項目尚未為企業準備就緒,僅應用于學習目的。
注意:在開始探索Kubernetes之前,確保您的筆記本電腦上有足夠的資源。
- Linux:Red Hat Enterprise Linux、Fedora或CentOS
- 每臺機器16 GiB或更多的內存。
- 機器上用作控制平面節點的2個CPU。
- 集群中所有機器之間實現完全網絡連接。
minikube
在這些選擇中,minikube是最容易安裝的。它將為您提供在VirtualBox或KVM之上運行的單節點集群。
資源需求:
- CPU:2個
- 內存:2 GB
- 磁盤空間:20 GB
一旦有了運行中的集群(單節點),您可以通過使用kubectl命令行部署一個簡單的應用程序與本地Kubernetes集群進行交互,讓自己開始上手。我在使用Minikube時注意到的唯一問題是這個限制:需要添加worker節點才能完成集群體驗。
kind
kind要求您在Docker容器中運行Kubernetes??梢栽诖颂?https://kind.sigs.k8s.io/docs/user/quick-start/)找到kind安裝說明。
雖然kind易于安裝,但我在使用該項目時看到的問題是訪問集群的復雜網絡配置。對于剛開始學習Kubernetes的人來說,這可能令人望而卻步。
資源需求:
- CPU:2個
- 內存:8GB
- 存儲空間:20GB
kubeadm
使用kubeadm的集群啟動可用于部署云原生應用程序。首先,您要有一個主節點和一個worker節點。
在筆記本電腦上安裝kubeadm是獲得生產級Kubernetes集群部署的最接近的體驗。因此,kuberadm可能也是學習Kubernetes的最困難的方法。
資源需求:
- CPU: 2個
- 內存:8GB(您需要額外的內存來部署應用程序)。
- 存儲空間:20GB
Minishift
Minishift是基于OKD的項目,而OKD是OpenShift背后的上游項目。安裝Minishift后,它將為您提供在VirtualBox或KVM中運行的單節點OpenShift集群。
資源需求:
- CPU:2個
- 內存:4 GB
- 存儲空間:20 GB
與其他項目相比,Minishift易于安裝,具有更大的靈活性,因此您可以在Linux、Windows和macOS中安裝它。
由于Minishift基于OKD,因此您不僅將學習Kubernetes的基礎知識,還將學習Openshift和Minishift中的一些組件。
Minishift的缺點在于它僅支持OKD 3.11,因此您將無法獲得新版本OKD 4的完整體驗。Minishift被CodeReady Containers替代,以獲得OKD 4的完整體驗,如此處所述。
CodeReady Containers(CRC)
CRC基于OKD 4.1,在筆記本電腦上提供了單節點配置。它的運行幾乎與Minishift和minikube如出一轍。安裝也很容易,文檔可以在這里找到(https://github.com/code-ready/crc#building-the-documentation)。
資源需求:
- CPU:4個
- 內存:8 GB
- 存儲空間:30 GB
結論
有多種方法可以在本地部署Kubernetes,從而開始掌握實屬當前IT革命核心的重要技能。
如果您剛起步,建議使用minikube學習Kubernetes,因為我發現這對初學者來說最容易。一旦您熟悉了Kubernetes概念,下一步就是進而使用CRC。這會將您的Kubernetes技能提高到新的水平,因此您可以學習大多數高級適配器已經在使用的企業級組件。
如前所述,學習Kubernetes就像重新學習Linux操作系統。如果遇到了障礙,別泄氣。掌握這項技術就像投資未來,并在某種程度上幫助您證明自己。
原文標題:Start learning Kubernetes from your local machine,作者:Michael Calizo
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】