K8S Learning(1)——简介
一、Kubernetes
kubernetes,是一個全新的基于容器技術(shù)的分布式架構(gòu)領(lǐng)先方案,是谷歌嚴(yán)格保密十幾年的秘密武器——Borg系統(tǒng)的一個開源版本,于2014年9月發(fā)布第一個版本,2015年7月發(fā)布第一個正式版本。
kubernetes的本質(zhì)是一組服務(wù)器集群,它可以在集群的每個節(jié)點(diǎn)上運(yùn)行特定的程序,來對節(jié)點(diǎn)中的容器進(jìn)行管理。目的是實現(xiàn)資源管理的自動化,主要提供了如下的主要功能:
-
自我修復(fù):一旦某一個容器崩潰,能夠在1秒中左右迅速啟動新的容器
-
彈性伸縮:可以根據(jù)需要,自動對集群中正在運(yùn)行的容器數(shù)量進(jìn)行調(diào)整
-
服務(wù)發(fā)現(xiàn):服務(wù)可以通過自動發(fā)現(xiàn)的形式找到它所依賴的服務(wù)
-
負(fù)載均衡:如果一個服務(wù)起動了多個容器,能夠自動實現(xiàn)請求的負(fù)載均衡
-
版本回退:如果發(fā)現(xiàn)新發(fā)布的程序版本有問題,可以立即回退到原來的版本
-
存儲編排:可以根據(jù)容器自身的需求自動創(chuàng)建存儲卷
二、kubernetes組件
一個kubernetes集群主要是由控制節(jié)點(diǎn)(master)、工作節(jié)點(diǎn)(node)構(gòu)成,每個節(jié)點(diǎn)上都會安裝不同的組件。
(1)master:集群的控制平面,負(fù)責(zé)集群的決策?
ApiServer : 資源操作的唯一入口,接收用戶輸入的命令,提供認(rèn)證、授權(quán)、API注冊和發(fā)現(xiàn)等機(jī)制
Scheduler : 負(fù)責(zé)集群資源調(diào)度,按照預(yù)定的調(diào)度策略將Pod調(diào)度到相應(yīng)的node節(jié)點(diǎn)上
ControllerManager : 負(fù)責(zé)維護(hù)集群的狀態(tài),比如程序部署安排、故障檢測、自動擴(kuò)展、滾動更新等
Etcd :負(fù)責(zé)存儲集群中各種資源對象的信息
node:集群的數(shù)據(jù)平面,負(fù)責(zé)為容器提供運(yùn)行環(huán)境
Kubelet : 負(fù)責(zé)維護(hù)容器的生命周期,即通過控制docker,來創(chuàng)建、更新、銷毀容器
KubeProxy : 負(fù)責(zé)提供集群內(nèi)部的服務(wù)發(fā)現(xiàn)和負(fù)載均衡
Docker : 負(fù)責(zé)節(jié)
kubernetes概念
Master:集群控制節(jié)點(diǎn),每個集群需要至少一個master節(jié)點(diǎn)負(fù)責(zé)集群的管控
Node:工作負(fù)載節(jié)點(diǎn),由master分配容器到這些node工作節(jié)點(diǎn)上,然后node節(jié)點(diǎn)上的docker負(fù)責(zé)容器的運(yùn)行
Pod:kubernetes的最小控制單元,容器都是運(yùn)行在pod中的,一個pod中可以有1個或者多個容器
Controller:控制器,通過它來實現(xiàn)對pod的管理,比如啟動pod、停止pod、伸縮pod的數(shù)量等等
Service:pod對外服務(wù)的統(tǒng)一入口,下面可以維護(hù)者同一類的多個pod
Label:標(biāo)簽,用于對pod進(jìn)行分類,同一類pod會擁有相同的標(biāo)簽
NameSpace:命名空間,用來隔離pod的運(yùn)行環(huán)境
點(diǎn)上容器的各種操作
三、kubernetes概念
Master:集群控制節(jié)點(diǎn),每個集群需要至少一個master節(jié)點(diǎn)負(fù)責(zé)集群的管控
Node:工作負(fù)載節(jié)點(diǎn),由master分配容器到這些node工作節(jié)點(diǎn)上,然后node節(jié)點(diǎn)上的docker負(fù)責(zé)容器的運(yùn)行
Pod:kubernetes的最小控制單元,容器都是運(yùn)行在pod中的,一個pod中可以有1個或者多個容器
Controller:控制器,通過它來實現(xiàn)對pod的管理,比如啟動pod、停止pod、伸縮pod的數(shù)量等等
Service:pod對外服務(wù)的統(tǒng)一入口,下面可以維護(hù)者同一類的多個pod
Label:標(biāo)簽,用于對pod進(jìn)行分類,同一類pod會擁有相同的標(biāo)簽
NameSpace:命名空間,用來隔離pod的運(yùn)行環(huán)境
總結(jié)
以上是生活随笔為你收集整理的K8S Learning(1)——简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样养殖金钱龟 金钱龟养殖方法
- 下一篇: K8S Learning(2)——集群环