K8S,就是基於容器的集羣管理平臺,它的全稱,是kubernetes。Kubernetes 這個單詞來自於希臘語,含義是舵手或領航員。K8S是它的縮寫,用「8」字替代了「ubernete」這8個字符。和Docker不一樣,K8S的創造者,是衆人皆知的行業巨頭——Google。然而,K8S並非一件全新的發明。它的前身,是Google本身搗鼓了十多年的Borg系統。K8S是2014年6月由Google公司正式公佈出來並宣佈開源的。同年7月,微軟、Red Hat、IBM、Docker、CoreOS、 Mesosphere和Saltstack 等公司,相繼加入K8S。以後的一年內,VMware、HP、Intel等公司,也陸續加入。2015年7月,Google正式加入OpenStack基金會。與此同時,Kuberentes v1.0正式發佈。目前,kubernetes的版本已經發展到V1.13。K8S的架構,略微有一點複雜,咱們簡單來看一下。一個K8S系統,一般稱爲一個K8S集羣(Cluster)。
這個集羣主要包括兩個部分:架構
一看就明白:Master節點主要仍是負責管理和控制。Node節點是工做負載節點,裏面是具體的容器。深刻來看這兩種節點。3d
Master節點包括API Server、Scheduler、Controller manager、etcd。
API Server是整個系統的對外接口,供客戶端和其它組件調用,至關於「營業廳」。
Scheduler負責對集羣內部的資源進行調度,至關於「調度室」。
Controller manager負責管理控制器,至關於「大總管」。代理
Node節點包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可選),還有就是Pod。
Pod是Kubernetes最基本的操做單元。一個Pod表明着集羣中運行的一個進程,它內部封裝了一個或多個緊密相關的容器。除了Pod以外,K8S還有一個Service的概念,一個Service能夠看做一組提供相同服務的Pod的對外訪問接口。這段不太好理解,跳過吧。
Docker,不用說了,建立容器的。
Kubelet,主要負責監視指派到它所在Node上的Pod,包括建立、修改、監控、刪除等。
Kube-proxy,主要負責爲Pod對象提供代理。Fluentd,主要負責日誌收集、存儲與查詢日誌