<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • 【大話云原生】煮餃子與docker、kubernetes之間的關系

    云原生的概念最近非常火爆,企業落地云原生的愿望也越發強烈。看過很多關于云原生的文章,要么云山霧罩,要么曲高和寡。 所以筆者就有了寫《大話云原生》系列文章的想法,期望用最通俗、簡單的語言說明白云原生生態系統內的組成及應用關系。那么,開始吧,這是第一篇!

    這真的是一篇講架構技術的文章,不是小說!建議您看下去!

    一、周末煮餃子聊到容器問題

    周末和老婆一起包了頓餃子,“老公,我去買瓶醋,你把餃子先煮一下吧”。我笨手笨腳準備半天,還沒煮完,老婆就回來了。我看著這一鍋餃子問道:“老婆,你說這 飯店是怎么煮餃子的啊? 每個人口味不一樣,飯量也都不一樣啊,想想都頭疼!”

    file

    小娜同學一邊用手比劃一邊說:“飯店當然不能像家里這么煮餃子啊,他們有一種特制的鍋,就是那個、那個樣子的”。
    我感覺自己娶了一個傻女人,“到底是哪個樣子的?用手能比劃出來啊?你是不是愛情公寓看多了?”。老婆聽到我的抱怨,拿起手機搜索了一下:“諾,就是這個樣子的,你個白癡!”

    file

    “飯店就是用這種鍋煮餃子的,水是一鍋水,爐是一個爐,分成多個容器,每個容器里面放入一個客人點的餃子就可以啦。”作為生活小能手的小娜同學知道的可真多。
    “哎我去,這不就是一個服務器啟動了多個docker容器么?”同樣作為程序員的小娜贊到:“老公,你說的還真對哈,我最近可是剛看了docker呢,但我還不太會用!”。

    二、說說docker與煮餃子的容器

    "你一個前端學什么docker"。小娜不服氣了,"哎,你別瞧不起人,我還知道k8s呢"。這可讓我有點意外,正當我意外之時,老婆一句話差點讓我噴出來:"那k8s到底是個什么東西啊?",我們商量好飯后她刷碗,我給她說說docker與k8。

    不一會就開始了飯后輔導: 飯店煮餃子本身就是一種服務(應用服務),煮餃子的鍋就像一個服務器,鍋里的每一個網狀籠就像一個docker容器,通常情況下一個網狀籠只煮一種餃子,就像一個docker容器通常只提供一個服務(微服務)。同一個服務器上的docker容器之間能夠進行必要的隔離,避免資源沖突(不同餡的餃子煮混)。又能充分的共享服務器資源(那一鍋水和供電),達到資源的合理利用,避免浪費。

    小娜微笑點點頭表示明白了,”那飯店規模變大,客人越來越多,就得買更多的大鍋(服務器)啊?"

    file

    那是當然嘍,你看哈,當服務器越來越多的時候就組成了集群docker容器還有一個好處就是它的標準化,標準化在這里就代表了部署靈活性。假如一號鍋突然斷電了,煮餃子的師傅就可以把煮餃子的容器拔出來插入二號鍋,因為容器的標準是一樣的。就像docker容器可以靈活快速的啟動,在不同的服務器上啟動提供服務。

    小娜同學再次的點了點頭,向我投來仰慕的眼光。趁熱打鐵,我總結道:”docker容器有效的實現了服務的環境封裝的標準化,以及同服務器容器之間的環境隔離,資源共享“。

    三、聊聊集群煮餃子(k8s)

    小娜同學對于接下來的內容已經迫不及待了,"docker我懂了,快說說k8s"。我故弄玄虛的說到,你看哈,現在這個飯店的集群容器煮餃子的模式還需要解決哪些問題?我們倆討論了一下,總結了下面這幾條:

    • 飯店的客流量不總是滿的,大鍋的個數肯定是按照最大需求買的,但是肯定有部分的時間大鍋是閑置的。
    • 客流量肯定是有一定的規律的吧?比如周末比工作日客流量大,下班后比上班時間客流量大。
    • 假如突然來了一個旅游團進來用餐,誰來做應急管理?快速的給大鍋插電?燒水?滿足用餐需求?
    • 如果為了避免煮出來的餃子味道混淆,是不是素餡類不同容器的放到一個大鍋里面煮?肉餡的放在一起煮、海鮮餡的放在一起煮會好一些?
    • 是不是得有人定期的對“大鍋”和大鍋里面的容器進行衛生檢查、運行狀態(健康檢查)?
    • 是不是得有一個人清楚的知道,素餡的一兩餃子是唐僧的,肉餡的四兩餃子是豬八戒的?

    其實還有很多需要注意的問題,所有的這些都可以歸納為:任務分配或者是服務編排,或者是容器的編排問題。k8s的主要作用就是用來解決類似這樣的一些問題:

    • 根據訪問量大小快速的對容器數量進行擴容、縮容。
    • 遵循一定的預定計劃來執行容器編排工作、應急管理工作、健康檢查工作
    • 合理的編排容器,有些容器放在CPU密集型的服務器上,有些容器放在內存密集型容器上。畢竟有的容器運行的是計算型微服務,有的容器運行的是耗內存的微服務。合理的編排能夠達到資源的最大利用率。

    以上等等這些進行容器管理、編排的問題,都需要k8s來管理支撐,而且是自動化支撐。 說到這里,小娜同學若有所思,“我聽是聽明白了,但是感覺這東西好龐大、好復雜啊。開發一個應用放在一起部署不好么?為什么搞這么復雜?”

    還別說,小娜同學還真問道點子上了。但這也不能一次全都講完啊,否則明天的碗誰來刷?

    歡迎關注我的博客,更多精品知識合集

    本文轉載注明出處(必須帶連接,不能只轉文字):字母哥博客 - zimug.com

    posted @ 2022-04-20 07:06  字母哥博客  閱讀(4195)  評論(10編輯  收藏  舉報
    国产美女a做受大片观看