k8s和容器那些事!那些關係

2022-06-22 21:03:08 字數 803 閱讀 4144

#k8s和容器那些關係

簡要介紹:

官方定義1:docker是乙個開源的應用容器引擎,開發者可以打包他們的應用及依賴到乙個可移植的容器中,發布到流行的linux機器上,也可實現虛擬化。

官方定義2:k8s是乙個開源的容器集群管理系統,可以實現容器集群的自動化部署、自動擴縮容、維護等功能。

與傳統技術對比:

接下來我們看兩張經典的圖:

一、從虛擬化角度:

圖1:圖1是docker容器與傳統虛擬化方式的不同之處,傳統的虛擬技術,在將物理硬體虛擬成多套硬體後,需要再每套硬體上都部署乙個作業系統,接著在這些作業系統上執行相應的應用程式。而docker容器內的應用程式程序直接執行在宿主機(真實物理機)的核心上,docker引擎將一些各自獨立的應用程式和它們各自的依賴打包,相互獨立直接執行於未經虛擬化的宿主機硬體上,同時各個容器也沒有自己的核心,顯然比傳統虛擬機器更輕便。

每個集群有多個節點,每個節點可建立多個容器,kuberbete就是管理這些應用程式所在的小執行環境(container)而生。

二、從部署角度

圖2:注意,大家別把這幅圖與上面docker的那張圖混淆了,圖1是從虛擬化角度,說明了為應用提供必要的執行環境所需要做的虛擬化操作(即:傳統:虛擬出的虛擬機器裝作業系統、docker:容器引擎管理下的容器)。

說白了,我們用kubernetes去管理docker集群,即可以將docker看成kubernetes內部使用的低級別元件。另外,kubernetes不僅僅支援docker,還支援rocket,這是另一種容器技術。

k8s 容器鉤子

有兩個鉤子暴露在容器中 poststart 這個鉤子在建立容器之後立即執行。但是,不能保證鉤子會在容器入口點之前執行。沒有引數傳遞給處理程式。kind deployment metadata name testlifecycle labels spec replicas 1 selector mat...

容器編排工具k8s

如何實踐 1 搜尋kubunetes online kubernetes playground katacoda pod k8s最小排程單位 docker pause 二個容器 deployments 維持pod一定數量 service 解決deploytemnets內部之間的乙個負載均衡 dns解...

k8s的 容器映象

my registry.example.com 5000 example web example v1.0.1 2.綠色部分 registry 埠 3.紫色部分 repository 名字 4.紅色部分 image 名字 5.棕色部分 image 標籤 更新映象 如果您期望每次啟動 pod 時,都強...