摘要:對系統(tǒng)透徹的理解可以提高工作效率。
鏈接:https://dzone.com/articles/adopting-kube.NETes-here-are-some-pitfalls-you-sho
作者 | Luca Galante
譯者 | 彎月 責編 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
知己知彼百戰(zhàn)不殆,為了利用好工具,首先我們需要了解工具。Kubernetes 是開發(fā)運維的關鍵要素,就像畫筆之于藝術家,斧鋸之于木匠。
然而,許多開發(fā)人員并沒有投入足夠的時間來學習他們喜歡的工具包的基礎知識,更不用說深入研究這些工具為企業(yè)帶來的價值了。事實上,掌握 Kubernetes 并非易事。雖然對于一個如此規(guī)模的工具來說,Kubernetes 的復雜性并不算過度,但對于初學者來說依然充滿了挑戰(zhàn)。
這正是我們創(chuàng)建 2022 年 Kubernetes 基準研究的原因。隨著云原生的采用率以健康的速度增長,越來越多的團隊開始嘗試采用這種工作流程,但結果并不一定能達到他們的預期。因此,我們花了幾個月的時間研究整個行業(yè)的 1160 多個開發(fā)團隊,根據(jù)他們的 Kubernetes 設置和實踐建立了基準。在此過程中,我們探討了以下問題:
- 高性能組織使用 Kubernetes 的方式有何不同?
- 團隊的結構、文化和方法對 Kubernetes 的成功采用有何影響?
- 從表現(xiàn)不佳的 Kubernetes 采用者到成功的容器化大師,是否有必勝的途徑?
- 是否有正確的方法能夠創(chuàng)建永不過時的 Kubernetes 設置?
我們的研究采用了自定義的 Kubernetes 績效分數(shù)。根據(jù)針對我們的問題給出的回答,我們給各個組織評分,范圍為0(表現(xiàn)不佳)~100(表現(xiàn)突出)。然后,我們重點分析了提供了完整信息的團隊。盡管這極大地限制了分析群體的范圍,但我們認為這可以更公平地描繪當前 Kubernetes 生態(tài)系統(tǒng)的使用情況。

成功需要的不僅僅是良好的意愿:將容器化的實現(xiàn)和規(guī)劃能力作為績效衡量標準
我們的分析表明,表現(xiàn)不佳和表現(xiàn)突出的企業(yè)之間存在許多明顯的區(qū)別。最令人感嘆痛惜的是實施領域:超過 66% 的頂級企業(yè)將他們的所有服務都容器化了,而表現(xiàn)不佳的企業(yè)中只有 22% 的服務實現(xiàn)了容器化。
Kubernetes 采用的趨勢相同,這意味著適應容器化是充分利用 Kubernetes 的關鍵。這完全合理,因為 Kubernetes 是一個容器編排系統(tǒng),但對于如何成功遷移到 Kubernetes 的問題,我們也聽到了一些其他常見的制約因素:
- 低估 Kubernetes 的復雜性:無論表現(xiàn)是否突出,各個企業(yè)都有類似的經(jīng)歷,他們之間的差異很小。因此,在啟動集群或購買云提供商之前,首先需要進行深入的培訓。
- 在采用 Kubernetes 之前樹立不切實際或不準確的期望:許多潛在的企業(yè)都遇到了一些問題,比如發(fā)現(xiàn) Kubernetes 很難使用——至少難度超過了他們的預期。而有些人則發(fā)現(xiàn)采用 Kubernetes 節(jié)省的成本并沒有達到預期,或者遇到云服務不兼容的問題。
簡而言之,腳踏實地,才能更好地起步。Kubernetes 確實可以解決很多問題,但前提是建立適當?shù)囊?guī)劃,而且更重要的是做好全面容器化的準備。
技術障礙:安全、團隊管理以及開發(fā)人員自助服務的程度
我們發(fā)現(xiàn)的一件有趣的事情是,在遷移到 Kubernetes 的過程中,一些常見的技術障礙會反復出現(xiàn)。或許你的經(jīng)歷會有所不同,但在考慮采用 Kubernetes 時,請務必牢記這些潛在的挑戰(zhàn):
實現(xiàn)一定程度的安全性的難度較大
70% 的企業(yè)都提到了 Kubernetes 的安全性,但這并不意味著他們都實現(xiàn)了一定程度的安全性。盡管表現(xiàn)突出的企業(yè)都使用了機密管理工具,但仍有很大一部分表現(xiàn)不佳的企業(yè)犯下了一些嚴重的錯誤。例如,許多企業(yè)以明文的形式將機密保存到代碼庫,并手動應用更改,或未能分離特定于某個環(huán)境和不依賴于環(huán)境的配置。此外,還有一些企業(yè)對最佳實踐缺乏清晰的認識。
不適合的組織文化可能會阻礙 Kubernetes 遷移
遷移到 Kubernetes 是一個巨大的文化轉(zhuǎn)變。但是這類的變化一般自上而下推動的效果更好。

相比之下,表現(xiàn)不佳的企業(yè)通常會錯誤地認為,Kubernetes知識可以現(xiàn)學現(xiàn)用,導致整個遷移依賴于某個關鍵員工,這有可能成為將來最大的弱點。與表現(xiàn)突出的企業(yè)相比,表現(xiàn)欠佳的企業(yè)無法準確記錄和可視化他們的設置,而他們花在幫助開發(fā)人員掌握 Kubernetes 的時間也更少。
自助服務需要更好地為開發(fā)人員服務
自助服務是另一個巨大的影響因素。盡管在表現(xiàn)突出的企業(yè)中,90% 聲稱他們的開發(fā)人員可以獨立或按需部署,但只有 39% 表現(xiàn)欠佳的企業(yè)有這樣的自信。

令人擔憂的是,超過 31% 表現(xiàn)欠佳的企業(yè)認為,他們的大多數(shù)團隊成員都不敢部署到 Kubernetes 集群,因為害怕破壞已有系統(tǒng)。從組織的角度來看,這并不是一個好兆頭,這種心理給推進容器化帶來的潛在問題甚至超過了其他領域。集中式的工作流程會造成人力資源瓶頸,從而抵消容器化的一些主要優(yōu)勢,例如能夠自主工作和快速配置基礎設施。
克服困難
各個團隊應該如何高效使用 Kubernetes 呢?我們發(fā)現(xiàn),大多數(shù)成功案例都是在平臺工程團隊構建的更大的內(nèi)部開發(fā)人員平臺框架內(nèi)采用 Kubernetes。換句話說,表現(xiàn)突出的團隊會構建工具、支持系統(tǒng)和基礎設施,確保的開發(fā)人員能夠有效地自助服務。
同時,我們不能不指出,有效的開發(fā)者生態(tài)系統(tǒng)必須積極追求整體理想。有效的內(nèi)部開發(fā)人員平臺會強制推進標準化和最佳實踐。在此過程中,開發(fā)人員可以不斷嘗試 Kubernetes ,同時避免由于其不可否認的復雜性而帶來的陷阱。這些企業(yè)通過這種方式,最大限度地減少開發(fā)團隊的認知負擔,讓他們能夠?qū)W⒂谥匾墓ぷ鳌?/p>
通過學習展現(xiàn)最好的一面
Kubernetes 是一個復雜但功能強大的系統(tǒng),可幫助改善企業(yè)的運營。但問題是,你是否做好準備,付出必要的努力來掌握這款工具,并在邁出關鍵的第一步之前,為此次成功的遷移之旅構建框架?
從長遠來看,Kubernetes 只是一個起點,它本身不能充當整個開發(fā)人員平臺,但可以為你的平臺工程計劃打下堅實的基礎。






