如何全面和系統的學習kubernetes?

時間 2022-01-13 10:42:38

1樓:Mattisonchao

搭建生產環境的 Kubernetes - 前言

待日後更新

首先,我們要明確一點。

我們不需要盲目的追求理解別人所定義的 「Kubernetes 在現在的技術體系架構中處於一種什麼角色」。我們需要把自己的關注點放在 Kubernetes 可以為我們解決什麼問題上。

Kubernetes 帶來的是乙個生態的改變,其核心包括如下功能:

分布式的集群,實現在多個主機進行排程。

提供乙個宣告性、可擴充套件、用於與系統互動的API 介面。

提供乙個 CLI ( kubectl ),用於開發人員與系統互動。

從物件的當前狀態到期望狀態的排程。

提供基本的服務抽象來幫助工作負載之間路由請求。

暴露多個介面,用於支援可插拔式的網路和儲存外掛程式。

在搭建環境之前,我們需要對我們所需要構建的應用平台場景進行一些取捨。是直接使用雲服務商提供的功能?還是我們要自己搭建?

應用平台需要給開發者提供什麼樣的功能?接下來我們將一步一步進行抉擇。

如下圖,展示了團隊內從沒有 Kubernetes 到給開發人員提供 Kubernetes 服務中的所有經歷。

Kubernetes timeline

乙個理想的抽象化程度是使得開發人員不需要關注底層的實現,他們只需要實現其相關邏輯。即開發人員不需要關心如何實現某種功能,只需要進行一些簡單的配置或呼叫一下某個 API 即可。

當然,對於一些有 Kubernetes 經驗的開發團隊來說( 雖然這種團隊比較少 )。暴露更多的 Kubernetes API 可能使得開發團隊更加的靈活呼叫功能。

所以,我們還是需要根據當前團隊的情況對抽象化進行取捨。

Kubernetes Abstraction

如前文所述,是直接使用雲服務商提供的功能?還是我們要自己搭建?這些問題也是乙個非常值得考究的問題。我們分兩個方面進行考慮。

工程方面

工程方面的考慮

通過該圖我們可以看出。一些成熟的平台如: Cloud Foundry、OpenShift、Heroku 提供了開箱即用的能力。

他們具有 「最適合生產環境「 和 「最小工程量」 的特徵。雖然我們自己搭建的 Kubernetes 服務也具有 「最適合生產環境」 特徵,但是它卻需要非常大的工程量來實現。

接下來我們看一下在另乙個維度,他們的表現如何。

業務需求方面

業務需求方面的考慮

通過上圖我們可以看出,自己搭建服務脫穎而出,因為這個平台是你自己實現的。所以你擁有神一樣的控制權。你可以完成所有你可以想到的事情。可以為開發者的各種奇怪需求進行滿足。

通過本篇文章,我們大致可以了解了在搭建 Kubernetes 集群之前需要做的一些抉擇與取捨。我們總結一下我們在如何構建應用平台時所需要考慮的問題:

根據團隊開發人員對 Kubernetes 的了解和業務需求來決定應用平台對開發團隊的抽象化程度。

建議應用平台構建人員不多,但是使用 K8s 進行容器編排是剛需的團隊優先考慮雲服務提供的雲集群。後續根據業務需求進行擴充套件或選擇自建集群。

如何科學 系統 全面地學習家政常識?

葉七七 可以看一下美國家政女王 瑪莎.斯圖爾特的書,乙個超牛掰的女人,完全是無所不能,什麼都會,教你如何成為家政女皇又優雅美麗的生活,是每個精緻女人必讀的書 蘇熱烈 我也想知道。尤其梅雨天怎樣有效防霉,各種衣物如何保養。怎麼滅殺小強。等等。但我又覺得知道太多不是好事,知道多的就做得多。 珍瑧 因為想...

如何全面系統科學(類似專業的)的學習唱歌 聲樂 演唱技巧等?

Chester 首先要懂得 發聲的核心是喉頭與聲帶 其次才是氣息 最後是共鳴 一開始只要做到開啟不用管共鳴,共鳴都不會差 先搞清楚如何 這裡指靜態的直接影響喉位和聲帶如何做 穩定喉頭並保持好聲帶剛好閉合,再去考慮如何去利用氣息支援 喉頭的保持低位置是動態的平衡,意思在發聲時如何保持穩定喉位 把自然音...

作為新手小白,怎麼來系統全面的學習纏論,如何正確的認識纏中說禪理論並用好它?

把前面十幾課反覆看,看明白。根本性的邏輯推導過程一定要明白。前面十幾課是主幹,後面是不斷換著花樣精細的過程,開枝散葉。最關鍵的是節奏,摸得太細,自己先把自己困住了。如果胃口好,想吃完,要注意前面課程部分名詞指代之物和後面是不一樣的。學纏論,一定要有立體的思維方式。看前面課程,會明白這樣的思維方式的。...