您真的需要Kubernetes嗎?
Kubernetes是針對云鎖定的完美防御,還是一個沒有必要的復雜解決方案?
哦,可以肯定,Kubernetes非常流行,當然您需要一個,也許三個! 但是,如果您不停地思考:為什么選擇Kubernetes?,那么您會期望很多意見。
IT專業人員引用Kubernetes的主要原因之一是通過確保云之間的可移植性來減少鎖定。 從理論上講,這比在實踐中要好。 而且,正如約翰斯頓所說,那些告訴他為云可移植性而選擇Kubernetes的人也告訴他,他們沒有遷移的計劃。
那么,為什么要使用Kubernetes?
容器化鎖定!
很多人發現自己登上Kubernetes潮流是因為它很受歡迎。 (“開發者和建筑師之所以要使用它,是因為技術是一個時尚產業,而Kubernetes卻很流行,” Orion Edwards說。)盡管如此,詹姆斯·托馬森(James Thomason)認為,盡管開發者可能將Kubernetes視為一種“像Google一樣運作的方式” ……實際上,除0.001%的用例外,這都是多余的。”
盡管這可能有點夸大其詞,但托馬森還是有道理。作為一個行業,我們確實傾向于將光澤的新事物遠遠超出其預期用途。
根據Johnston的說法,許多cto擁護Kubernetes“通常是因為他們不得不這樣做”。要么是繼承下來的,要么是因為它是他們眼中的下一個大項目(有很多開發者在招人)
為什么遺憾?因為Kubernetes帶來了復雜性,這種復雜性是他們最需要的云可移植性工具——低級的Docker容器所沒有的。或者簡單的shell腳本。事實上,正如約翰斯頓所言,Kubernetes最終“用多種不同的方式把多年來一直在做的事情復雜化了”。
人們對約翰斯頓的“為什么要使用Kubernetes?”的主要回答是避免鎖定。 正如丹·塞爾曼(Dan Selman)所見,“這并不總是一種理性的恐懼,但它確實是一種恐懼。” 分析師勞倫斯·赫希特(Lawrence Hecht)表示,“對鎖定的恐懼是合理的。 即使你不打算使用退出策略,想要有一個退出策略也是合理的。”
你想要云計算的可移植性來最小化鎖定?你可以擁有它。但是您可能不需要Kubernetes即可到達那里。
從Johnston的角度來看,逃避鎖定的嘗試不應“自動意味著Kubernetes。 我們在虛擬服務器上安裝了整體組件,從而實現了可移植性。 我認為我們現在與Kubernetes的可移植性有所降低。”
更多的Kubernetes,更少的可移植性?這是怎么做到的呢?Neal Gompa表示:“有多種方法可以通過巧妙地利用某些Kubernetes API來減少應用程序對這些事情的依賴,但總的來說,使用裸Kubernetes不會免費獲得云的可移植性。”
Kubernetes在幕后
即使Kubernetes不會刪除現實世界中的鎖定,但由于其他原因,它仍然具有價值。一方面,如果開發人員基于Kubernetes,他們將獲得寶貴的技能,這些技能可以在不同的雇主之間轉移,不管不同的雇主使用的是什么云。
而且, Kubernetes是企業獲取基礎設施抽象程度的一種好方法,即使不消除鎖定,它也可以在服務之間移動時提供幫助。 畢竟,大多數企業都有一個理由選擇特定的云,而不是用于基本的計算和存儲。
作為一個行業,我們有一種關注技術的趨勢,即使供應商正在消除對技術的關注。例如,James Urquhart堅持Kubernetes會贏,但是讓每個開發人員都安裝和使用它是不可能的。相反,他建議,“[Kubernetes]應該完全隱藏在重要的抽象概念之下。
換句話說,開發人員可能最終會在幕后使用Kubernetes,淹沒在沒有服務器的產品和類似產品中。但大多數人不必鉆研Kubernetes api。
這是否意味著Kubernetes將失敗? 不, 當Kubernetes恢復到“隱形管道”的狀態時,它將會贏。