如何跨越 Kubernetes 學習曲線

Scott Mccarty發表於2019-06-28

Kubernetes 就像一輛翻斗車。它非常適合解決它所針對的問題,但你必須首先掌握其學習曲線。

如何跨越 Kubernetes 學習曲線

為什麼說 Kubernetes 是一輛翻斗車中,我談到了一個工具如何優雅地解決它所設計用來解決的問題 —— 只是你要學會如何使用它。在本系列的第 2 部分中,我將更深入地瞭解 Kubernetes 的學習曲線。

Kubernetes 的旅程通常從在一臺主機上執行一個容器開始。你可以快速瞭解執行新版本軟體的難易程度,與其他人分享該軟體的難易程度,以及對於這些使用者按照你預期方式執行它的難易程度。

但是你需要:

  • 兩個容器
  • 兩個主機

使用容器在埠 80 上啟動一個 Web 伺服器很容易,但是當你需要在埠 80 上啟動第二個容器時會發生什麼?當你構建生產環境時,需要容器化 Web 伺服器在發生故障時轉移到第二個主機時會發生什麼?在任何一種情況下,這個答案簡單來說就是你必須採用容器編排。

當你開始處理兩個容器或兩個主機問題時,你將不可避免地引入了複雜性,因此,這就是一個學習曲線。這個兩個服務(容器的更通用說法)或兩個主機的問題已經存在了很長時間,並且由此帶來了複雜性。

從歷史上看,這將涉及負載均衡、叢集軟體甚至叢集檔案系統。每個服務的配置邏輯都嵌入在每個系統(負載均衡、叢集軟體和檔案系統)中。在負載平衡器後執行 60 或 70 個叢集的服務是複雜的。新增另一個新服務也很複雜。更糟糕的是,撤下服務簡直是一場噩夢。回想起我對生產環境中的 MySQL 和 Apache 伺服器進行故障排除的日子,這些伺服器的邏輯嵌入在三、四個或五個不同的地方,所有這些都採用不同的格式,讓我頭疼不已。

Kubernetes 使用一個軟體優雅地解決了所有這些問題:

  1. 兩項服務(容器):✅
  2. 兩臺伺服器(高可用性):✅
  3. 單一配置來源:✅
  4. 標準配置格式:✅
  5. 網路:✅
  6. 儲存:✅
  7. 依賴關係(什麼服務與哪些資料庫對應):✅
  8. 易於配置:✅
  9. 輕鬆取消配置:✅(也許是 Kubernetes 強大的部分)

等等,這樣初看起來 Kubernetes 非常優雅、非常強大。 沒錯。你可以在 Kubernetes 中建模一整個微型 IT 世界。

Kubernetes business model

所以,是的,就像開始使用巨型翻斗車(或任何專業裝置)時,有一個學習曲線。使用 Kubernetes 還有一個學習曲線,但它值得,因為你可以用一個工具解決這麼多問題。如果你對學習曲線感到擔憂,請仔細考慮 IT 基礎架構中的所有底層網路、儲存和安全問題,並設想一下今天的解決方案 —— 這並不容易。特別是當你越來越快地引入越來越多的服務時。速度是當今的目標,因此要特別考慮配置和取消配置問題。

但是,不要混淆了建造或配置 Kubernetes 的學習曲線(為你的翻斗車挑選合適的擋泥板可能很難,LOL)和使用它的學習曲線。學習用如此多的不同層次(容器引擎、日誌記錄、監控、服務網格、儲存、網路)的技術來建立自己的 Kubernetes 有很多不同的選擇,還有每六個月維護每個元件的更新選擇,這可能不值得投資 —— 但學會使用它絕對是值得的。

我每天都與 Kubernetes 和容器泡在一起,即使這樣我都很難跟蹤幾乎每天都在宣佈的所有重大新專案。 但是,每一天我都對使用單一工具來模擬整個 IT 多個方面的運營優勢感到興奮。此外,記住 Kubernetes 已經成熟了很多,並將繼續發展下去。與之前的 Linux 和 OpenStack 一樣,每一層的介面和事實上的專案都將成熟並變得更容易選擇。

在本系列的第三篇文章中,我將深入挖掘你在駕駛 Kubernetes “卡車”之前需要了解的內容。


via: https://opensource.com/article/19/6/kubernetes-learning-curve

作者:Scott McCarty 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章