迎難而上駕馭Kubernetes
對新手來說,Kubernetes可能是一頭野獸。我們體驗到了諸多好處和便利,但在表面之下卻發(fā)生了許多我們無法看到的事情。為了剝繭抽絲一探究竟,Akamai通過對著名倉庫:Kelsey Hightower的Kubernetes the Hard Way創(chuàng)建fork,圍繞Linode平臺制定出一種更適合的方法。
延伸閱讀,點擊鏈接了解 Akamai Cloud Computing
如果你以前沒有接觸過Kelsey的方法,他提供的內(nèi)容絕對值得一看。畢竟他可是業(yè)界知名的Kubernetes布道師之一,也是該項目最早的貢獻者之一。
如果你已經(jīng)準備好真正深入了解Kubernetes的工作原理,本文將向你分享一些重要經(jīng)驗。你也許將能以此為契機,以一種截然不同的新方式去理解自己曾經(jīng)認為理所當然的事情。希望這足以讓你有興趣親自一試!
第1課:人都會犯錯
Hightower的作品中最驚人的地方在于,會向你展示為什么Kubernetes的腳本部署應用如此廣泛。他的方法很簡單,就是帶你了解運行這些部署時會發(fā)生什么。
當你同時在三個控制平面節(jié)點上運行同一條命令時,可能會出現(xiàn)簡單的輸入錯誤,進而需要返回來重新輸入。你也可能在實驗結(jié)束時才意識到這方面的煙霧測試(Smoke test)已經(jīng)完全失敗,需要重新啟動。只有在我們犯錯時才會學到最多東西,因為這樣就能回過頭來弄清楚自己到底做錯了什么。事實上,整本教程中最有用的部分之一就是清理部分,因為你可能會遇到集群中的東西壞得無法修復的時候,這時候?qū)⒅荒軓念^開始。
是誰說Kubernetes很簡單的?
第2課:Kubernetes并不是魔術(shù)
如果只用過托管的Kubernetes集群,你可能會覺得Kubernetes是個神奇的系統(tǒng),能讓你的東西一直運行下去。但深入學習下去就會發(fā)現(xiàn),Kubernetes并不是魔術(shù)。它只是一堆代碼,做著優(yōu)秀軟件最擅長的事:讓你看起來像個魔術(shù)師。
當你磕磕絆絆地正確設置Linode上的主機名,或者試圖弄明白Kubernetes的網(wǎng)絡模型到底是怎么回事時,你就會清楚意識到:自己所面對的并不是什么神奇的容器仙藥,不可能將它撒在基礎設施上就能讓一切難題迎刃而解。
最后,當你在部署Kubernetes集群時鍵入每一條命令,而不是僅僅按下按鈕就將生產(chǎn)代碼發(fā)布出去時,你就會明白為什么Kubernetes的按按鈕式解決方案如此之好。這也意味著當集群出現(xiàn)問題時,你可以深入其中并解決問題,而原本你甚至可能都不知道具體是平臺的哪一部分出現(xiàn)了問題。
第3課:閱讀文檔
首次閱讀Hightower的教程時,筆者在讀完一半時才意識到,文檔鏈接的存在并不是為了好玩,而是必不可少的。要建立一個龐大的系統(tǒng),必須通讀Kubernetes文檔。
當然,你也可以簡單地將所有內(nèi)容輸入終端,獲得運行小型Kubernetes集群所需的所有Linode實例,但這種方式要求你具備超人般的打字技巧,并確保永遠不會出錯。當然,你可能會在學習結(jié)束時對Kubernetes的運作有更多了解,但這遠比不上親自關(guān)注每個實驗中的鏈接。
對某些讀者來說,這個結(jié)論可能是顯而易見的。不過有些人可能會經(jīng)歷這樣的循環(huán):無法確定如何讓某個實驗正常運行,于是直接跳到指南的“清理”部分重新開始。在此之前請先查看關(guān)鍵鏈接。順便閱讀一下文檔,你會更快樂。
結(jié)論:別放棄!
如果你一直讀到了這里,請接受我們的贊賞。你可能不需要最后的忠告,但我們還是要告訴你:別放棄!不管有多難,用這種“苦辦法”建立Kubernetes集群并不是不可能完成的任務。畢竟,按按鈕式的解決方案一直都在做這種事,甚至無需任何思考。如果電腦可以按照一堆指令操作,那么你也可以。
此外,看著自己部署到手工構(gòu)建的Kubernetes集群上的網(wǎng)站,那種感覺有點像看到了只有徒步一天才能到達的高山湖泊。你會很慶幸自己堅持下來了。
Hightower的指南很實用,這也是我們將它fork并借此構(gòu)建Linode專用資源的原因。這能讓大家學到很多東西,但更重要的是,在做這件事的過程中可以獲得樂趣:我們成功解決了棘手的問題。
所以你不試試親自探索一下Kubernetes嗎?立即注冊Linode賬戶,在Linode平臺上盡情探索吧。
—————————————————————————————————————————————————
如您所在的企業(yè)也在考慮采購云服務或進行云遷移,
點擊鏈接了解Akamai Linode的解決方案