現代化小白也要嘗試的容器手札 - Docker / K8s 我們不一樣
Day 3. Docker / K8s 我們不一樣
Docker本身並不是容器,它本身是一個能創建容器的工具,故Build(搭建), Ship(運送) and Run(執行)
是重要的流程步驟。舉個不負責的真實案例:
- 原來租來的一個空地自己重無到有建造屬於自己經營的一棟民宿,然而有天房東不租了或是地震垮了等等情,原來的民宿就要重複上述動作疊層架屋再來一遍。
- 然而在一次睡夢中出現一個神燈冒出了一個精靈叫阿拉丙,可以給他一個願望(但不可以在許個我還要三個願望之類的無窮迴圈)。
- 民宿老闆最後許一個可以不要再讓我重複蓋民宿一直可以重複使用的願望。
- 然後阿拉丙就把民宿複製出一模一樣的袖珍民宿(鏡像)放進我的背包(倉庫)內。
- 之後又重新找到了一塊空地後就用秘密口令把袖珍民宿(鏡像)等比複製出正常的民宿。
- 民宿裡面的裝設擺放全部一模一樣,人只要進去入住即可。
- 這就是阿拉丙的由來,ㄟ!搞錯重點..是容器的運作來由啦。
Build once,Run anywhere
(搭建一次,隨處可用),則是上述流程的優勢特性,完全符合現代化懶人的需求。
上述故事放入背包中的鏡像就是Docker Image。而背包本身就是Docker Repository。最後在新找的空地上用口令變出的民宿就是一個Docker Container。而每次變出的民宿都是一樣的,但生活用品等變動物資則是誰住誰就要負責添購調整。
所以同理今天可以是一個民宿,也可以是非式草屋民宿,北歐冰屋式民宿都透過魔法變入境像放到包包需要的時候再拿出來取用即可,互相不干擾完全獨立。
但是你也知道一旦民宿數量日益增多龐大時,開始就會混亂,無論是客戶入住,金流物資房型等一坨拉古鬼一般的需求蜂擁而來,這時候如何能好好和平共處,在一個良善的編寫排定調度管理讓這一個個的民宿能夠永續經營。所以K8S的到來,它的全名就是Kubernetes。
一個基於容器的集群管理平台,架構就不在此篇說明,會留在後面慢慢品嘗。
如果真要比較 Kubernetes 與 Docker,其實應該是就特性來說Kubernetes與Docker Swarm
。
Docker Swarm本身是著重Docker容器叢集的Docker協調流程並緊密結合到Docker生態系統使用自己的 API。
Kubernetes與Docker最基本差異是,K8s是在整個叢集內執行,而Docker則是在單一節點上執行。
K8s範圍遠比Docker Swarm更廣,且更有效在正式環境中大規模調用節點叢集。K8s Pod最小容器單位分散至多個節點提高資源利用與高可用性。下圖是雲社群的一張比較表,如果想硬比差異性,可以參考以下引用大大的表格來做比較:
今天篇章就到這,感謝收看。
留言
張貼留言