就在這場因"容器"而起的技術變革中,kubernetes項目已經成爲容器技術的事實標準,從新定義了基礎設置領域對應用編排與管理的種種可能網絡
一、爲何容器裏只能跑「一個進程」?
二、爲何我原先一直在用的某個 JVM 參數,在容器裏就很差使了?
三、爲何 Kubernetes 就不能固定 IP 地址?容器網絡連不通又該如何取Debug?
四、Kubernetes 中 StatefulSet 和 Operator 到底什麼區別?PV 和 PVC 這些概念又怎麼用?架構
這些問題乍一看與咱們日常的認知很是矛盾,但他們的答案和原理卻並不複雜,不過很遺憾,杜宇槓槓開始學習容器的技術人員來講,它們卻很難用一兩句話就能解釋清楚運維
究其緣由在於,從過去以物理機和虛擬機爲主題的開發運維環境,向以容器爲核心的基礎是指的轉變過程,並非一次溫和的改革,而是涵蓋了對網絡、存儲、調度、操做系統、分佈式原理等各個方面的容器化理解和改造分佈式
我但願用饒有趣味的解說,給你梳理容器技術生態的發展脈絡,用最通俗易懂的語言描述容器底層技術的實現方式,讓你知其然,也知其因此然工具
Kubernetes集羣號稱"很是複雜",可是若是明白了其中的架構和原理,選擇正確的工具和方法,它的搭建卻也能夠"一鍵安裝",它的應用部署也能夠淺顯易懂學習
這個專欄最重要的內容,"編排"永遠都是容器雲項目的靈魂所在,也是Kubernetes社區持久生命力源泉。在這一模塊,我會從分佈式系統設計的視角出發,
抽象和概括出這些特性中體現出來的廣泛方法,而後帶着這些知道思想去逐闡述Kubernetes項目關於編排、調度和做業管理的各項核心特性。「不識廬山真面目,只緣身在此山中」,但願這樣一個不同凡響的角度,可以給你以全新的啓發。操作系統
「開源生態」永遠都是容容器技術和Kubernetes項目的關鍵。在這個模塊,我會和你一塊兒探討,容器社區在開園軟件工程指導下的演進之路;
帶你思考,如何同團隊一塊兒平衡內外部需求,讓本身逐漸成爲社區中不可或缺的一員。設計
若是拿汽車來作比:
Docker比如汽車引擎,
Dockerfile至關於汽車藍圖,
Docker image(鏡像)就是汽車樣板,
Docker container(容器)相似於汽車的零部件,
Docker Registry能夠看做是4s店,
Docker Compose就像老司機,
Docker Volume就像是汽車的油箱, 若是把容器間內的io數據流比喻成汽油,
Docker Swarm(或者K8s)就是交通樞紐。進程