Kubernetes-Docker集羣管理(理論)

Kubernetes-Docker集羣管理

Kubernetes介紹
Kubernetes-Docker集羣管理(理論)node

Kubernetes是一個開源的Docker容器編排系統,Kubernetes簡稱K8S。

調度計算集羣的節點,動態管理上面的做業
經過使用[labels]和[pods]的概念,將應用按邏輯單元進行分組算法

一、K8S用於容器應用程序的部署,擴展和管理
二、K8S提供了容器編排,資源調度,彈性伸縮,部署管理,服務發現等一系列功能
三、Kubernetes目標是讓部署容器化應運簡單高效
四、官方網站:http://www.kubernetes.iodocker

Kubernetes特性

一、自我修復api

在節點故障時從新啓動失敗的容器,替換和從新部署,保證預測的副本數量;殺死健康檢查失敗的容器,而且在未準備好以前不會處理客戶端請求,確保線上服務不中斷。安全

二、彈性伸縮網絡

使用命令、UI或者基於CPU使用狀況自動快速擴容和縮容應用程序實例,保證應用業務高峯併發時的高可用性;業務低峯時回收資源,以最小成本運行服務架構

三、自動部署和回滾併發

K8S採用滾動更新應用,一次更新一個Pod,而不是同時刪除全部Pod,若是更新過程當中出現問題,將回滾更改,確保升級不受影響業務負載均衡

四、服務發現和負載均衡分佈式

K8S爲多個容器提供一個統一的訪問入口(內部IP地址和UI個DNS地址),而且負載均衡關聯的全部容器,使得用戶無需考慮容器IP問題

五、機密和配置管理

管理機密數據和應用程序配置。而不須要把敏感數據暴露在鏡像裏,提升敏感數據安全性。而且能夠將一些經常使用的配置存儲在K8S中,方便應用程序使用

六、存儲編排

掛載外部存儲系統,不管是來自本地存儲,公有云(如AWS),仍是網絡存儲(NFS、GlusterFS)都做爲集羣資源的一部分使用,極大提升存儲使用靈活性

七、批處理

提供一次性任務,定時任務;知足批量數據處理和分析的場景。

Kubernetes集羣架構與組件

Kubernetes-Docker集羣管理(理論)
Kubernetes-Docker集羣管理(理論)

master組件

一、kube-apiserver

Kubernetes API,集羣的統一入口,各組件協調者,以RESTful API提供接口服務,全部對象資源的增刪改查和監聽操做都交給APIServer處理後再提交給Etcd存儲。

二、kube-controller-manager

處理集羣中常規後臺任務,一個資源對應一個控制器,而ControllerManager就是負責管理這些控制器的

三、kube-scheduler

根據調度算法爲新建立的Pod選擇一個Node節點,能夠任意部署,能夠部署在同一個節點上,也能夠部署在不一樣的節點上

四、etcd

分佈式鍵值存儲系統,用於保存集羣狀態數據,好比Pod、Server等對象信息。

node組件

一、kubelet

kubelet是MAster在Node節點上的Agent,管理本機運行容器的生命週期,好比建立容器,Pod掛載數據卷、下載secret、獲取容器和節點狀態等工做。kubelet將Pod轉換成一組容器。

二、bube-proxy

在Noed節點上實現Pod網絡代理,維護網絡規劃和四層復=負載均衡工做

三、docker或rocker

容器引擎,運行容器

相關文章
相關標籤/搜索