在為什麼說 Kubernetes 是一輛翻鬥車中,我談到了一個工具如何優雅地解決它所設計用來解決的問題 —— 只是你要學會如何使用它。在本系列的第 2 部分中,我將更深入地瞭解 Kubernetes 的學習曲線。
Kubernetes 的旅程通常從在一臺主機上執行一個容器開始。你可以快速瞭解執行新版本軟體的難易程度,與其他人分享該軟體的難易程度,以及對於這些使用者按照你預期方式執行它的難易程度。
但是你需要:
使用容器在埠 80 上啟動一個 Web 伺服器很容易,但是當你需要在埠 80 上啟動第二個容器時會發生什麼?當你構建生產環境時,需要容器化 Web 伺服器在發生故障時轉移到第二個主機時會發生什麼?在任何一種情況下,這個答案簡單來說就是你必須採用容器編排。
當你開始處理兩個容器或兩個主機問題時,你將不可避免地引入了複雜性,因此,這就是一個學習曲線。這個兩個服務(容器的更通用說法)或兩個主機的問題已經存在了很長時間,並且由此帶來了複雜性。
從歷史上看,這將涉及負載均衡、叢集軟體甚至叢集檔案系統。每個服務的配置邏輯都嵌入在每個系統(負載均衡、叢集軟體和檔案系統)中。在負載平衡器後執行 60 或 70 個叢集的服務是複雜的。新增另一個新服務也很複雜。更糟糕的是,撤下服務簡直是一場噩夢。回想起我對生產環境中的 MySQL 和 Apache 伺服器進行故障排除的日子,這些伺服器的邏輯嵌入在三、四個或五個不同的地方,所有這些都採用不同的格式,讓我頭疼不已。
Kubernetes 使用一個軟體優雅地解決了所有這些問題:
等等,這樣初看起來 Kubernetes 非常優雅、非常強大。 沒錯。你可以在 Kubernetes 中建模一整個微型 IT 世界。
Kubernetes business model
所以,是的,就像開始使用巨型翻鬥車(或任何專業裝置)時,有一個學習曲線。使用 Kubernetes 還有一個學習曲線,但它值得,因為你可以用一個工具解決這麼多問題。如果你對學習曲線感到擔憂,請仔細考慮 IT 基礎架構中的所有底層網路、儲存和安全問題,並設想一下今天的解決方案 —— 這並不容易。特別是當你越來越快地引入越來越多的服務時。速度是當今的標的,因此要特別考慮配置和取消配置問題。
但是,不要混淆了建造或配置 Kubernetes 的學習曲線(為你的翻鬥車挑選合適的擋泥板可能很難,LOL)和使用它的學習曲線。學習用如此多的不同層次(容器引擎、日誌記錄、監控、服務網格、儲存、網路)的技術來建立自己的 Kubernetes 有很多不同的選擇,還有每六個月維護每個元件的更新選擇,這可能不值得投資 —— 但學會使用它絕對是值得的。
我每天都與 Kubernetes 和容器泡在一起,即使這樣我都很難跟蹤幾乎每天都在宣佈的所有重大新專案。但是,每一天我都對使用單一工具來模擬整個 IT 多個方面的運營優勢感到興奮。此外,記住 Kubernetes 已經成熟了很多,並將繼續發展下去。與之前的 Linux 和 OpenStack 一樣,每一層的介面和事實上的專案都將成熟並變得更容易選擇。
在本系列的第三篇文章中,我將深入挖掘你在駕駛 Kubernetes “卡車”之前需要瞭解的內容。
朋友會在“發現-看一看”看到你“在看”的內容