<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么你應(yīng)該慎重考慮使用 Kubernetes

          共 3842字,需瀏覽 8分鐘

           ·

          2021-04-06 19:39

          點(diǎn)擊上方藍(lán)色“Go語(yǔ)言中文網(wǎng)”關(guān)注,每天一起學(xué) Go

          When to choose Kubernetes?

          很多團(tuán)隊(duì)都很興奮地開始使用 Kubernetes。其中一些團(tuán)隊(duì)希望能充分利用它的彈性、靈活性、可移植性、可靠性以及其他的一些 Kubernetes 能原生地提供的優(yōu)勢(shì)。也有些團(tuán)隊(duì)只是熱衷于技術(shù),僅僅想使用下這個(gè)平臺(tái),來(lái)更好地了解它。還有一些開發(fā)者想獲得一些使用它的經(jīng)驗(yàn),這樣他們的簡(jiǎn)歷上就可以添加一項(xiàng)很多公司急需的技能??傊?,現(xiàn)在大部分開發(fā)者出于不同的目的都想要使用 Kubernetes。

          使用 Kubernetes 有好處也有壞處。

          設(shè)計(jì) Kubernetes 的初衷是用來(lái)解決分布式架構(gòu)的問題的

          來(lái)看官網(wǎng)文檔網(wǎng)站[1]的定義:

          “Kubernetes 為你提供了能靈活運(yùn)行分布式系統(tǒng)的框架。它的能力體現(xiàn)在對(duì)你的應(yīng)用進(jìn)行擴(kuò)縮容和故障轉(zhuǎn)移,提供部署模式,等等”。

          它不是僅用于分布式系統(tǒng)的,而是用于容器化應(yīng)用。即便如此,它提供了很多可以讓管理分布式系統(tǒng)和擴(kuò)縮容變得更容易地資源,就像微服務(wù)解決方案一樣。它也被認(rèn)為是一個(gè)編排系統(tǒng)。

          自動(dòng)化[2]和編排不一樣,但是也有關(guān)聯(lián)。自動(dòng)化通過減少和替換掉人與 IT 系統(tǒng)的交互使用軟件來(lái)執(zhí)行任務(wù),這樣能減少資源消耗,降低復(fù)雜度和減少錯(cuò)誤,進(jìn)而使得系統(tǒng)更加高效。

          總之,自動(dòng)化表示使某單一的任務(wù)自動(dòng)執(zhí)行。它與編排不同,編排是指在多個(gè)不同的系統(tǒng)間的多個(gè)步驟中如何自動(dòng)化執(zhí)行某一個(gè)處理或工作流。當(dāng)你開始把自動(dòng)化編進(jìn)你的處理流程中時(shí),你可以編排它們,讓他們自動(dòng)執(zhí)行。

          編排是什么?RedHat 官方網(wǎng)站[3]

          換句話說,Kubernetes 使管理復(fù)雜的解決方案變得更加容易,而如果沒有適當(dāng)?shù)木幣畔到y(tǒng),這些解決方案將很難維護(hù)。雖然您可以自己實(shí)施 DevOps 工程實(shí)踐,但如果要從數(shù)十種服務(wù)擴(kuò)展到數(shù)百種服務(wù),則無(wú)法擴(kuò)展。

          Kubernetes 很復(fù)雜

          為了充分利用它的各個(gè)功能,開發(fā)者和 IT 操作者們必須掌握容器、網(wǎng)絡(luò)、安全、移植性、彈性和 Kubernetes 本身相關(guān)的知識(shí)。為了合理地使用它的負(fù)載,你應(yīng)該先了解每個(gè)組件是如何工作的。為了管理一個(gè)集群,你應(yīng)該了解它的架構(gòu)、存儲(chǔ)、API 和后臺(tái)管理系統(tǒng),而這可能與傳統(tǒng)的虛擬化環(huán)境不一樣。為了實(shí)施某個(gè)方案,你應(yīng)該先了解如何集成工具來(lái)部署、監(jiān)控以及追蹤服務(wù),諸如 Helm[4]Istio[5]。這里涉及大量的新概念,因此你的團(tuán)隊(duì)要做好充足的準(zhǔn)備來(lái)迎接挑戰(zhàn)。

          Kubernetes 對(duì)于小的解決方案花費(fèi)很大

          為了理解原因,我們先來(lái)加深下對(duì) Kubernetes 的一個(gè)很重要的概念的認(rèn)識(shí) — 彈性。為了體現(xiàn)彈性,你需要更多的節(jié)點(diǎn) — 比運(yùn)行應(yīng)用程序所需的最少節(jié)點(diǎn)數(shù)要多一點(diǎn)。當(dāng)某個(gè)節(jié)點(diǎn)掛掉時(shí),請(qǐng)求的 pod 會(huì)遷移到可用的節(jié)點(diǎn)。在生產(chǎn)中的工作負(fù)載,為了集群有彈性,推薦至少部署三個(gè)節(jié)點(diǎn)。

          如果你只需要維護(hù)一個(gè)單一的應(yīng)用,那么顯然不需要像上面那樣做。但是即使你有十幾個(gè)應(yīng)用,你仍然要考慮維護(hù)集群的收益和集群的開銷是否平衡。

          **維護(hù)環(huán)境的開銷還包括運(yùn)維支持。**平臺(tái)越復(fù)雜,對(duì)運(yùn)維人員的專業(yè)性要求就越高。你可能需要雇傭第三方的專業(yè)團(tuán)隊(duì)來(lái)提供支持,或者需要一個(gè)諸如 Openshift 的包含支持服務(wù)的解決方案。

          什么時(shí)候該選擇 Kubernetes

          基于你使用的架構(gòu),應(yīng)用的數(shù)量和各應(yīng)用間的依賴程度,你的團(tuán)隊(duì)能提供的運(yùn)維能力,你可以在眾多可用的技術(shù)中判斷 Kubernetes 是否是最佳選擇。

          按照基于容器的 Web 應(yīng)用[6]部署完后,你有了一套可以用于生產(chǎn)的環(huán)境。在遵照流程做了完整的計(jì)劃,有 SSL 特性,并安裝了 Application Insights[7] 后,你的環(huán)境會(huì)變得安全、可伸縮,幾乎不需要運(yùn)維工作。

          如果你的應(yīng)用都是獨(dú)立的,或者只連接了少量的應(yīng)用,也許在同一個(gè)虛擬網(wǎng)絡(luò)中組合使用 Azure Web Apps 和 容器實(shí)例[8]就足夠了。

          然而,如果你的容器化的應(yīng)用數(shù)量會(huì)增長(zhǎng),那么使用 Kubernetes 管理他們會(huì)很有趣。你會(huì)在單一的、集中式的環(huán)境中管理像 Web 應(yīng)用,API 和 循環(huán)的任務(wù)等不同類型的應(yīng)用。你的團(tuán)隊(duì)也能把精力放在 Kubernetes 而不是浪費(fèi)在選擇不同的云原生解決方案上。

          如果你要處理分布式的場(chǎng)景,像微服務(wù),那么請(qǐng)選擇 Kubernetes。分布式架構(gòu)很復(fù)雜,而 Kubernetes 就是為它設(shè)計(jì)的。能完全契合分布式的應(yīng)用,以及可以根據(jù)應(yīng)用的需求進(jìn)行擴(kuò)展,除了 Kubernetes,我想不到更好的任何其他平臺(tái)。

          總結(jié)

          當(dāng)你只需要處理少量的容器化的應(yīng)用、各應(yīng)用相互獨(dú)立的或者應(yīng)用間幾乎不相互依賴時(shí),選擇其他的管理方式如基于容器的 Web 應(yīng)用[9]Azure 容器實(shí)例[10] — 或者兩者結(jié)合 — 可能更簡(jiǎn)單,花費(fèi)更少。

          如果你的團(tuán)隊(duì)對(duì) Kubernetes 的能力很滿意,并且你的容器化的應(yīng)用數(shù)量會(huì)越來(lái)越多,那么可能值得你在一個(gè) Kubernetes 平臺(tái)(如 Azure Kubernetes 服務(wù)[11])中進(jìn)行集中式管理。

          *Kubernetes 是一個(gè)用來(lái)提高性能和減少分布式系統(tǒng)中運(yùn)維工作的平臺(tái)。*它主要用來(lái)降低復(fù)雜場(chǎng)景(如 微服務(wù))中運(yùn)維的復(fù)雜度。

          如果你不需要處理大量的應(yīng)用,沒有使用分布式架構(gòu),或者團(tuán)隊(duì)中沒有技術(shù)專家,那么你就不能享受到 Kubernetes 帶來(lái)的便利 — 因?yàn)樗皇菫槟阍O(shè)計(jì)的。使用 Kubernetes 只會(huì)給你的解決方案增加意外和不符合預(yù)期的復(fù)雜度。

          如果你想更好地了解容器化應(yīng)用的管理方式和如何選擇最適合的方式,那么請(qǐng)查閱下面的文章:

          為你的應(yīng)用選擇 Azure 計(jì)算服務(wù)[12]


          via: https://medium.com/better-programming/why-not-use-kubernetes-52a89ada5e22

          作者:Grazi Bonizi[13]譯者:lxbwolf[14]校對(duì):polaris1119[15]

          本文由 GCTT[16] 原創(chuàng)編譯,Go 中文網(wǎng)[17] 榮譽(yù)推出

          參考資料

          [1]

          官網(wǎng)文檔網(wǎng)站: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

          [2]

          自動(dòng)化: https://www.redhat.com/en/topics/automation

          [3]

          編排是什么?RedHat 官方網(wǎng)站: https://www.redhat.com/en/topics/automation/what-is-orchestration

          [4]

          Helm: https://helm.sh/

          [5]

          Istio: https://istio.io/

          [6]

          基于容器的 Web 應(yīng)用: https://azure.microsoft.com/en-us/services/app-service/containers/

          [7]

          Application Insights: https://docs.microsoft.com/en-us/azure/azure-monitor/app/cloudservices

          [8]

          容器實(shí)例: https://azure.microsoft.com/en-us/services/container-instances/

          [9]

          基于容器的 Web 應(yīng)用: https://azure.microsoft.com/en-us/services/app-service/containers/

          [10]

          Azure 容器實(shí)例: https://azure.microsoft.com/en-us/services/container-instances/

          [11]

          Azure Kubernetes 服務(wù): https://azure.microsoft.com/en-us/services/kubernetes-service/

          [12]

          為你的應(yīng)用選擇 Azure 計(jì)算服務(wù): https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-decision-tree

          [13]

          Grazi Bonizi: https://medium.com/@grazibonizi

          [14]

          lxbwolf: https://github.com/lxbwolf

          [15]

          polaris1119: https://github.com/polaris1119

          [16]

          GCTT: https://github.com/studygolang/GCTT

          [17]

          Go 中文網(wǎng): https://studygolang.com/



          推薦閱讀


          福利

          我為大家整理了一份從入門到進(jìn)階的Go學(xué)習(xí)資料禮包,包含學(xué)習(xí)建議:入門看什么,進(jìn)階看什么。關(guān)注公眾號(hào) 「polarisxu」,回復(fù) ebook 獲??;還可以回復(fù)「進(jìn)群」,和數(shù)萬(wàn) Gopher 交流學(xué)習(xí)。

          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费看A片视频 | 国产精品播放 | 99精品国产91久久久久久无码 | 婷婷一区二区三区 | 人妻AV在线 |