新聞中心
Kubernetes 很復(fù)雜,那是因為復(fù)雜才能解決你的問題
作者:云原生技術(shù)愛好者社區(qū) 2022-12-12 09:46:49
云計算 Kubernetes 的最大缺點是它預(yù)先加載了很多復(fù)雜性,但是復(fù)雜性是合理的,這就導(dǎo)致又很多東西需要預(yù)先學(xué)習(xí)。

成都創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、泗洪網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為泗洪等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Kubernetes 是否過于復(fù)雜?
我經(jīng)常被問及Kubernetes 是否復(fù)雜。在這篇文章中,我將逐一討論這些論點并給出答案。當(dāng)您需要和不需要 Kubernetes 時,我也會向您解釋。
與虛擬機(jī)相比,使用容器的優(yōu)勢
在了解 Kubernetes 本身的復(fù)雜性之前,我們需要了解一下 Docker 容器,因為它也增加了復(fù)雜性。這種復(fù)雜性值得嗎?
幾乎每個人都會同意,即使您決定不使用 Kubernetes,您仍然應(yīng)該使用 Docker。在沒有 Kubernetes 的情況下,將 Docker 容器部署到 AWS 或其他云提供商也不難。您只需要在虛擬機(jī)上設(shè)置一個運行 Docker 守護(hù)進(jìn)程。
Docker 容器的主要優(yōu)點是它們是獨立的包。它們將應(yīng)用程序的環(huán)境與其運行的機(jī)器分離。您不再需要關(guān)心主機(jī)上存在什么庫或 Python 版本,因為 Dockerfile 使您的依賴關(guān)系明確。如果它可以在您自己的機(jī)器上運行,那么它也可以在任何相同CPU架構(gòu)上的機(jī)器運行。Docker 不完全是基礎(chǔ)設(shè)施即代碼,但 Dockerfiles 確實允許您將應(yīng)用程序運行時定義為 git 存儲庫中的一個簡單文件。
Docker 容器的另一個好處是它們是分布式應(yīng)用程序包,專為不可變基礎(chǔ)架構(gòu)的世界而設(shè)計。換句話說,它們被設(shè)計成無狀態(tài)的。容器本質(zhì)上是短暫的。如果他們死了并重新啟動也沒關(guān)系。
什么時候不需要使用 kubernetes
當(dāng)滿足以下四個條件時,您不需要 Kubernetes:
- 將極少數(shù)容器部署到極少數(shù)機(jī)器(主機(jī)),換句話說你的用戶數(shù)量有限。
- 容器和機(jī)器的數(shù)量是靜態(tài)的,不會經(jīng)常出現(xiàn)擴(kuò)容或者縮容。
- 您的容器和機(jī)器不會經(jīng)常出現(xiàn)故障。
- 您不需要持久存儲、負(fù)載均衡、配置管理、服務(wù)發(fā)現(xiàn)、自動修復(fù)、自動縮放等其他功能?;蛘吣_實需要這些功能,但您的要求非常有限并且不介意供應(yīng)商鎖定。
換句話說,如果您有簡單的要求,那么有一個更簡單的 Kubernetes 替代方案。您可以將容器直接部署到運行在幾個虛擬機(jī)上的 Docker 守護(hù)進(jìn)程。
復(fù)雜的需求就需要復(fù)雜的解決方案
當(dāng)您擁有的業(yè)務(wù)正在快速成長,用戶量激增,那么您可能確實需要 Kubernetes:
- 您的應(yīng)用需要處理可變的用戶負(fù)載量
- 您需要使用計算之外的其他云服務(wù) - 例如,持久存儲、負(fù)載均衡器、配置管理等。
- 節(jié)點過多,經(jīng)常出錯,您的應(yīng)用需要自動恢復(fù)能力
- 您希望以一致的方式管理多個應(yīng)用程序和系統(tǒng)
- 您有上百個團(tuán)隊在相同的環(huán)境中工作或使用彼此的微服務(wù)
- 其它復(fù)雜場景
對于上述要求,您需要引入容器基礎(chǔ)設(shè)施,這意味著為大規(guī)模、動態(tài)地部署 Docker 容器并將它們相互連接以及與其他云服務(wù)(如存儲)進(jìn)行優(yōu)化的基礎(chǔ)設(shè)施。
該基礎(chǔ)設(shè)施最流行的形式是 Kubernetes。如果這些是您的要求,為什么不運行 Kubernetes?當(dāng)然它很復(fù)雜,但是滿足這些要求的每個解決方案都將具有相似的復(fù)雜性。
至少對于 Kubernetes,復(fù)雜性是開源的,并且以聲明式 Kubernetes API 的形式標(biāo)準(zhǔn)化。這優(yōu)于其他公共云或內(nèi)部解決方案。
沒有 Kubernetes 和 Docker 的企業(yè)基礎(chǔ)架構(gòu)
這是仇恨者的典型主張:
Kubernetes 和 Docker 是不必要的,因為自動縮放很容易,systemd 可以自我修復(fù),云提供商有用于持久卷的 API,備份應(yīng)該用主機(jī)上的 cronjobs 完成,秘密用 MyFavoriteSecretVault 完成,Consul 做配置管理,服務(wù)發(fā)現(xiàn)是 DNS ,健康檢查不是必需的,Reddit 上的一個家伙在他的上一家公司寫了一個 3000 行的 Perl 腳本用于滾動更新,因此顯然 Kubernetes 是不必要的。
對于這些人,我只能說祝你好運。此外,您重新發(fā)明了 Kubernetes。
讓初學(xué)者更容易使用 Kubernetes
Kubernetes 的最大缺點是它預(yù)先加載了很多復(fù)雜性,但是復(fù)雜性是合理的,這就導(dǎo)致又很多東西需要預(yù)先學(xué)習(xí)。
本文題目:Kubernetes 很復(fù)雜,那是因為復(fù)雜才能解決你的問題
網(wǎng)頁URL:http://www.dlmjj.cn/article/coshdih.html


咨詢
建站咨詢
