Kubernetes解決什么樣的問(wèn)題
Docker是一個(gè)輕量級(jí)的虛擬機(jī)锋拖,它將程序的代碼秉剑、工具庫(kù)和運(yùn)行環(huán)境全部都封裝到了一個(gè)容器中棚品,因此降低了部署和測(cè)試的難度艺栈,我們需要做的只是運(yùn)行命令就ok傅寡。不了解Docker可以先看看http://www.reibang.com/p/0b74b2bb4c59?v=1675460817900這篇文章
但是對(duì)于像購(gòu)物系統(tǒng)一樣這類架構(gòu)復(fù)雜放妈、規(guī)模龐大的應(yīng)用來(lái)說(shuō)北救,他們需要根據(jù)訪問(wèn)量來(lái)自動(dòng)分配服務(wù)器、網(wǎng)絡(luò)資源芜抒,并且在某個(gè)容器宕機(jī)之后自動(dòng)進(jìn)行災(zāi)難恢復(fù)珍策、故障轉(zhuǎn)移,這個(gè)時(shí)候K8s就可以大顯身手了
Kubernetes的工作原理
Kubernetes是一個(gè)用于大規(guī)模部署擬分布式應(yīng)用的平臺(tái)它管理著一系列的主機(jī)和服務(wù)器宅倒,它們被稱作Node節(jié)點(diǎn)攘宙。
每一個(gè)節(jié)點(diǎn)運(yùn)行了若干個(gè)相互獨(dú)立的pod,Pod是Kubernetes中可以部署的最小執(zhí)行單元
這么多的pod拐迁,他們需要相互協(xié)調(diào)才能做到負(fù)載均衡或者故障轉(zhuǎn)移蹭劈,這就需要一臺(tái)中心計(jì)算機(jī)來(lái)集中管理。這個(gè)中心計(jì)算機(jī)就被稱為控制平面线召,控制平面通過(guò)專有的API來(lái)與各個(gè)節(jié)點(diǎn)通信
它會(huì)實(shí)時(shí)檢測(cè)節(jié)點(diǎn)的網(wǎng)絡(luò)張臺(tái)來(lái)平衡服務(wù)器的負(fù)載或者臨時(shí)下發(fā)指令來(lái)應(yīng)對(duì)突發(fā)的狀況铺韧,比如發(fā)現(xiàn)某個(gè)Pod掛掉了它會(huì)立刻啟用在后臺(tái)預(yù)先準(zhǔn)備好的、隨時(shí)待命的備用容器來(lái)替換它 灶搜,以上所有被稱為一個(gè)集群