Linux中國

在你的 Linux 家庭實驗室上運行 Kubernetes 的 5 個理由

樹莓派家庭實驗室上運行 Kubernetes 的 5 個理由 這篇文章中,我解釋了為什麼推薦在家裡使用 Kubernetes。其中的理由相對來說會有點隨意,並且主要於關注結果。除了 Kubernetes 好用的功能之外,還有其他幾個應將 Kubernetes 包含在你自己的計算機的理由。

(LCTT 譯註: 家庭實驗室 Homelab 指的是安置在你家裡的一個伺服器或者多伺服器的組合配置。在之上託管了多個服務和虛擬系統,以此來進行測試、開發,或者提供家庭功能用途。)

1、Kubernetes 是基於 Linux 而建立的

![T-shirt reading "Containers are Linux"](/data/attachment/album/202211/22/000137p119hntnru9eu4ne.jpg "T-shirt reading "Containers are Linux"")

Kubernetes 有很高的知名度。對於一些人來說,Kubernetes 是一種神秘技術,有一個不好念的名字;而對另一些人來說,Kubernetes 就好像是牧羊犬放牧羊群一樣,可以幫助他們管理過多的容器;對於其它人來說,Kubernetes 是一種 cloud 的操作系統,是 實效雲開發 effective cloud development 的一個有用的界面;對於大多數人來說,Kubernetes 可能是他們從未聽說過的後端軟體。正如人們所想的那樣,Kubernetes 具有所有這些能力,甚至有更多的功能。

並非每個人都以相同的方式使用 Kubernetes,但如果你主要的工作是系統管理,你會發現 Kubernetes 只是又一個 Linux 命令

我有一件 T 恤,上面寫著 「 容器就是 Linux Containers are Linux 」,它的意思是顯而易見的。容器技術使用 cgroup,來運行包含一個或一組應用程序的最小 Linux 操作系統鏡像。當你運行容器時,實際上你就是在運行 Linux。雖然 Kubernetes 能在許多平台上使用,但 Kubernetes 管理的是 Linux 容器。當你通過終端與 Kubernetes 交互時,就像是使用 Linux:有命令、選項、參數和語法。運行 Kubernetes 的 kubeadm 或(在 OKD 或 OpenShift 上)運行 oc 命令,你會感覺到很熟悉,是因為它們的工作方式與你習慣使用的任何其他 Linux 命令一樣。開始時看似陌生的東西很快就會變得自然,任何有興趣在終端上花時間的 Linux 用戶都可以在 Kubernetes 中探索到許多有趣的東西。

2、Kubernetes 很靈活

在過去,Kubernetes 有點死板,因為從本質上來說,它僅能支持一個 容器運行時 container runtime 。這個規定非常嚴格,以至於今天需要一個 硬編碼的墊片 hardcoded shim ,才能繞過這個遺留問題。幸運的是,如今 Kubernetes 已經變得足夠靈活,可以滿足管理員的許多不同需求了。PodmanCRI-O 可用作於容器引擎,它們都可以與 systemd 集成(這是因為 Kubernetes 的底層都是 Linux)。你可以自己選擇 Kubernetes 所使用的文件系統、集群大小和構造、監控工具、鏡像、編程語言等等配置。甚至現在有些人說 Kubernetes 有 太多 的選擇了。

3、學習 Kubernetes 有助於個人發展

容器是一個碩果累累的事物,它們會快速地成倍增長,這就是它的設計。容器旨在擴展,它們通過生成克隆來擴展。將容器分組(稱為 「 容器莢 pod 」),並自動管理容器莢的生命周期,這就是 Kubernetes 運用的方式。它正在改變伺服器的運行方式。

你可能不需要無限擴展的容器集合,也不需要任何東西來幫助你管理正運行的一或兩個容器。但是,如果你希望受益於處理容器莢的能力,那麼 Kubernetes 正是你需要學習的工具。隨著越來越多的公司和組織走向全球,擁抱 數字化轉型,Kubernetes 正在成為 IT 領域的必備技能。如果你想要在這個領域中發展,那麼現在開始學習 Kubernetes 並熟悉它的常見問題及其解決方案,將會是一項很好的投資。

4、Kubernetes 讓容器更有意義

你可能還記得幾年前,當開源項目剛開始將它們的代碼作為容器鏡像分發時,對於許多人來說,容器這一概念是令人費解的:沒有多少系統管理員真正理解 容器是什麼,或者明白容器的邊界在哪裡、如何進入容器,以及為什麼數據不能存在於容器內。

現在,IT 界(包括開發人員在內)都對容器的概念都十分熟悉了。對於現代的 CI/CD 工作流程 來說,交付給容器十分有意義。不過,對於系統管理員來說,容器的優勢如下:安裝容器(理論上)比等待發行版更新其軟體包更為容易,而且容器可以擴展。然而,在你使用 Kubernetes 之前,你很可能都不會真正地感受到這些好處。當你開始使用 Kubernetes 和相關工具管理容器之前,持續交付容器的好處和容器的擴展能力可能只是你從文章裡面讀過的想法。將容器集成到你管理伺服器的方式中,你會突然明白 Kubernetes 中令人興奮的是什麼。

![Apache JMeter](/data/attachment/album/202211/22/000137r7048wuswhshuya9.png "Apache JMeter")

你可以試試看這個最基本的測試:只需在容器中啟動你最喜歡的 Web 伺服器,創建一個容器莢,然後使用來自 Apache JMeter 的流量訪問你的伺服器,然後觀察容器響應。

5、Kubernetes 是雲原生的

如果你主要做的是軟體開發,而不是系統管理,那麼 Kubernetes 也是 網頁應用程序 web apps 的一個很好的平台。我們現在都在使用網頁應用程序,儘管大多數人只是將它們視為 「 網站 website 」。網路擁有龐大的用戶群,因此通過瀏覽器提供開源的應用程序是非常有意義的。有一些很棒的開源應用程序在網路上運行,其中許多的應用程序都以容器的形式分發的,它們可以支持簡單的安裝和持續的用戶體驗。

Kubernetes 的其他優勢:Kubernetes 很有意思

你還記得你還是 Linux 新手的時候嗎?對於一些人來說,那可能是幾十年前的事了,而對於其他人來說,可能是不久的過去。不過,對於所有人來說,學習一項新事物會是一個有趣的挑戰。如果你達到了認為 「Linux 的安裝與其說是一個挑戰,不如說是一個麻煩」 的程度,那麼你可以嘗試一下構建一個 Kubernetes 集群。它會讓你回憶起你忘記的各種概念:如何修改純文本(特別是 YAML 格式的)配置文件,如何配置網路介面和網路,如何路由流量,知道一個後端相對於另一個後端的優缺點,在 --dry-run 測試之後運行 --dry-run 測試,試探性地按回車鍵來確定你是否做對了。老實說,使用 Kubernetes 很有趣。

如果你想構建自己的基礎架構,沒有什麼比構建你自己的 Kubernetes 集群更好的了。Kubernetes 集群將會為你打開一個全新的世界。你很快就會成為一名雲架構師,學會完善你的開放雲,在容器中安裝令人驚嘆的開源 Web 應用程序,也能為你的家人和朋友提供訪問許可權。

你自己就能得到解決方案。這真是太棒啦。

快來試試看 Kubernetes 吧

對 Kubernetes 的初學者來說,Kubernetes 似乎很難快速上手,因為 Kubernetes 是一個新的工具,會讓你感到有點害怕,而且它還需要雲服務。但是,以下有幾種方法可以讓你開始 Kubernetes 體驗。

首先,安裝 MinikubeMinishift。這兩個工具都允許你在自己的計算機上運行 Kubernetes 的本地實例。雖然這種方式比不上「構建一個集群並與你的朋友共享」那麼令人滿意,但它是一種讓你熟悉 Kubernetes 環境、命令和工具包的很好且安全的方式。

當你準備進一步研究 Kubernetes 後,請進一步閱讀 Chris Collins 的《使用樹莓派構建 Kubernetes 集群》 的文章。之後,再下載我們的免費電子書 《在你樹莓派家庭實驗室上運行 Kubernetes》。在不知不覺中,你會發現自己也明白了「容器就是 Linux」的含義。

via: https://opensource.com/article/21/6/kubernetes-linux-homelab

作者:Seth Kenlon 選題:lujun9972 譯者:chai001125 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國

    Linux中國

    DevOps 將去向何方?

    微軟、谷歌、亞馬遜、IBM 和甲骨文如今都在關注云上的 DevOps。這些大公司正在給企業提供 IT 自動化的服務。然而,DevOps 仍然在持續的演進中。DevSecOps、AIOps 和 NoOps 正在成為下一個流行詞。