五個Kubernetes成功秘訣
開始使用Kubernetes,使用這些專家建議來充分利用容器編排。
你可以找到很多人和數據,告訴你Kubernetes已經成為一個重要的開源成功項目。那些同樣的人會贊揚像Kubernetes這樣的編排工具的價值,以幫助大規(guī)模管理集容器化的應用程序。
例如,紅帽技術公司的技術人員戈登·哈夫(Gordon Haff)和威廉·亨利(William Henry)在他們的電子書“從鍋與桶到程序與應用:軟件學習如何打包自己”中指出,符合OCI的容器運行時非常擅長管理單個容器。但是,當單數變成復數時,這又是一個***:“當你開始使用越來越多的容器和集裝箱化的應用程序,分解成數百個時,管理和編排就會變得棘手。
然而,你會找到許多專家,像哈夫和亨利,他們會向你保證Kubernetes是“容易的”。它是一個強大的平臺,但是對于越來越多的軟件團隊來說,進入容器化的應用程序可能會有一個學習曲線,特別是容器化的微服務。
“現在云中存在的許多系統都是建立在基于虛擬機,虛擬磁盤等物理概念的抽象基礎之上的,”Heptio的聯合創(chuàng)始人兼***技術官兼Kubernetes在Google的原始開發(fā)人員之一的Joe Beda說。 “Kubernetes引入了一系列邏輯抽象:容器,鏡像,pod,服務,等等。學習這些可能需要一些時間,并為這套技術的學習曲線作出貢獻。“
我們收集了一些重要的建議,幫助你做到這一點 ,學習和計劃,讓末的組織與Kubernetes取得長期的成功。
1.閱讀,觀看,聆聽(并學習)
你在正確的軌道上:你現在已經閱讀了Kubernetes。大多數專家建議在認真做好之前做一些功課。 Beda指出:“有很多很好的教程和講座。
Retriever Communications***技術官Nic Grange推薦Google開發(fā)者倡導者Kelsey Hightower提供的任何材料,首先是一個免費的Udacity課程Hightower和一個同事創(chuàng)建的可擴展微服務與Kubernetes。
Hightower也是兩位作者的合著者,還有Beda和Kubernetes的創(chuàng)作者Brendan Burns,以及Grange也推薦的Kubernetes:Up and Running。
Haff和Henry的書為Kubernetes背后的原因提供了很好的背景知識,為什么編排如此重要,以及軟件通向容器和微服務時代的進化道路的偉大入門。還可以查看紅帽的Kubernetes指南,包括詞匯表以及Kubernetes如何融入企業(yè)IT架構。
2.遵循理解概念的計劃
一旦獲得了“101”級的理解,就可以深入了解使Kubernetes工作的各種概念。正如Beda在上面所說的那樣,他們和你以前的習慣是完全不同的。事實上,Beda建議在開始使用Kubernetes之前,先用容器自己開始學習過程。
Beda說:“以簡單,永恒的方式簡單打包應用程序,是學習應用程序首先部署的方式,以及如何監(jiān)控,升級和增長應用程序的一大步。
然后,專門討論Kubernetes的概念。只是不要試圖一次處理所有事情。
Pepperdata高級架構師Kimoon Kim表示:“Kubernetes有許多不同的結構,新用戶很容易迷路。 “從Kubernetes Pod的開始,然后和Kubernetes集群一起玩。 (稍后會詳細介紹)稍后學習其他結構也是可以的。“
CYBRIC***技術官兼聯合創(chuàng)始人邁克·凱爾(Mike Kail)表示,這有助于制定一個計劃或框架,一旦你把豆莢作為***個概念來處理。他說:“我發(fā)現,開始使用像Kubernetes這樣的新興技術的***方法是勾勒框架,然后以合乎邏輯的方式走過去,而不是試圖從流水中喝酒。 Kail將其分解為:Kubernetes構建塊(如Pod),服務(如ClusterIP),網絡,卷管理以及服務發(fā)現/負載平衡。
3.Kubernetes測試
Kail說:“一旦你對這些核心概念有了很好的理解,那么從一個簡單的應用程序部署開始,你就可以了解集群的行為和挑戰(zhàn)。
你可以使用托管的云服務,或者在本地使用Kubernetes:Grange建議開源項目Minikube,它使你能夠在筆記本電腦的虛擬機上運行單節(jié)點集群。
格蘭奇補充說,讓Kubernetes自己啟動和運行是一些用戶和團隊***挑戰(zhàn)性的部分。 Grange指出,通過像Minikube這樣的工具,你可以暫時跳過這一步,首先學習如何使用托管的Kubernetes實例部署和管理應用程序,然后返回并學習如何構建和管理自己的集群。
Netsil產品副總裁Arvind Soni認為這是正確的順序:從學習如何管理自己的集群開始可能是不必要的痛苦。 Soni說:“你將會陷入建設和運營Kubernetes集群的挑戰(zhàn),而不是專注于學習可以從中獲得的最終價值。
Beda說:“開始時不要擔心管理集群,做任何簡單的事情。
4.從非關鍵工作負載開始
一個成功的學習策略幾乎總是涉及到一些反復試驗:在生產環(huán)境中,沒有一個老師像一個錯誤。通過預測那些早期的失誤,你可以限制它們對低級應用程序的影響。隨著你從“測試和學習”模式發(fā)展到“管理生產中的容器”模式,這一點尤為重要。當你考慮編排平臺(如OpenShift)以可擴展的方式管理容器時,這也可能是重點。
“一旦你對這些概念和命令感到滿意,你應該開始計劃你將如何使用(Kubernetes)非關鍵的工作負載,”Grange建議。這通常是***的開始,因為在部署更重要的工作負載時,它可以讓你學習,犯錯誤,并且更自信。“
5.從概念轉向更深入的學習
確保你的學習曲線實際上是曲線,而不是扁平線。 部分實踐學習應該包括在日常使用中更好地理解這些概念,并繼續(xù)深入了解該平臺。
Soni說:“一旦你建立了初步的應用程序,并獲得舒適,深入研究”Kubernetes的所有'巫術魔法'是如何發(fā)生的。 “它如何路由到服務? 它如何啟用持久性卷并將其作為豆莢移動進行管理? 哪些選項可用于解決保護吊艙的需求? 等等。 這將使你有效地使用托管的Kubernetes [實例],甚至建立你自己的私有Kubernetes集群。“