Kubernetes 超詳細(xì)總結(jié)
一個(gè)目標(biāo):容器操作;兩地三中心;四層服務(wù)發(fā)現(xiàn);五種Pod共享資源;六個(gè)CNI常用插件;七層負(fù)載均衡;八種隔離維度;九個(gè)網(wǎng)絡(luò)模型原則;十類IP地址;百級(jí)產(chǎn)品線;千級(jí)物理機(jī);萬級(jí)容器;相如無億,Kubernetes有億:億級(jí)日服務(wù)人次。
一個(gè)目標(biāo):容器操作
- 自動(dòng)化容器部署和復(fù)制。
- 實(shí)時(shí)彈性收縮容器規(guī)模。
- 容器編排成組,并提供容器間的負(fù)載均衡。
- kubectl:客戶端命令行工具,作為整個(gè)系統(tǒng)的操作入口。
- kube-apiserver:以REST API服務(wù)形式提供接口,作為整個(gè)系統(tǒng)的控制入口。
- kube-controller-manager:執(zhí)行整個(gè)系統(tǒng)的后臺(tái)任務(wù),包括節(jié)點(diǎn)狀態(tài)狀況、Pod個(gè)數(shù)、Pods和Service的關(guān)聯(lián)等。
- kube-scheduler:負(fù)責(zé)節(jié)點(diǎn)資源管理,接收來自kube-apiserver創(chuàng)建Pods任務(wù),并分配到某個(gè)節(jié)點(diǎn)。
- etcd:負(fù)責(zé)節(jié)點(diǎn)間的服務(wù)發(fā)現(xiàn)和配置共享。
- kube-proxy:運(yùn)行在每個(gè)計(jì)算節(jié)點(diǎn)上,負(fù)責(zé)Pod網(wǎng)絡(luò)代理。定時(shí)從etcd獲取到service信息來做相應(yīng)的策略。
- kubelet:運(yùn)行在每個(gè)計(jì)算節(jié)點(diǎn)上,作為agent,接收分配該節(jié)點(diǎn)的Pods任務(wù)及管理容器,周期性獲取容器狀態(tài),反饋給kube-apiserver。
- DNS:一個(gè)可選的DNS服務(wù),用于為每個(gè)Service對(duì)象創(chuàng)建DNS記錄,這樣所有的Pod就可以通過DNS訪問服務(wù)了。
- 簡單:基于http+json的API讓你用curl命令就可以輕松使用。
- 安全:可選SSL客戶認(rèn)證機(jī)制。
- 快速:每個(gè)實(shí)例每秒支持一千次寫操作。
- 可信:使用Raft算法充分實(shí)現(xiàn)了分布式。
- PID命名空間:Pod中的不同應(yīng)用程序可以看到其他應(yīng)用程序的進(jìn)程ID。
- 網(wǎng)絡(luò)命名空間:Pod中的多個(gè)容器能夠訪問同一個(gè)IP和端口范圍。
- IPC命名空間:Pod中的多個(gè)容器能夠使用SystemV IPC或POSIX消息隊(duì)列進(jìn)行通信。
- UTS命名空間:Pod中的多個(gè)容器共享一個(gè)主機(jī)名。
- Volumes(共享存儲(chǔ)卷):Pod中的各個(gè)容器可以訪問在Pod級(jí)別定義的Volumes。
- 內(nèi)網(wǎng)接入交換機(jī):也稱為TOR(top of rack),是服務(wù)器接入網(wǎng)絡(luò)的設(shè)備。每臺(tái)內(nèi)網(wǎng)接入交換機(jī)下聯(lián)40-48臺(tái)服務(wù)器,使用一個(gè)掩碼為/24的網(wǎng)段作為服務(wù)器內(nèi)網(wǎng)網(wǎng)段。
- 內(nèi)網(wǎng)核心交換機(jī):負(fù)責(zé)IDC內(nèi)各內(nèi)網(wǎng)接入交換機(jī)的流量轉(zhuǎn)發(fā)及跨IDC流量轉(zhuǎn)發(fā)。
- MGW/NAT:MGW即LVS用來做負(fù)載均衡,NAT用于內(nèi)網(wǎng)設(shè)備訪問外網(wǎng)時(shí)做地址轉(zhuǎn)換。
- 外網(wǎng)核心路由器:通過靜態(tài)互聯(lián)運(yùn)營商或BGP互聯(lián)美團(tuán)統(tǒng)一外網(wǎng)平臺(tái)。
- 二層負(fù)載均衡:基于MAC地址的二層負(fù)載均衡。
- 三層負(fù)載均衡:基于IP地址的負(fù)載均衡。
- 四層負(fù)載均衡:基于IP+端口的負(fù)載均衡。
- 七層負(fù)載均衡:基于URL等應(yīng)用層信息的負(fù)載均衡。
- Service可能有很多個(gè),如果每個(gè)都綁定一個(gè)Node主機(jī)端口的話,主機(jī)需要開放外圍的端口進(jìn)行服務(wù)調(diào)用,管理混亂。
- 無法應(yīng)用很多公司要求的防火墻規(guī)則。
- 所有容器都可以不用NAT的方式同別的容器通信。
- 所有節(jié)點(diǎn)都可以在不同NAT方式下同所有容器心痛,反之亦然。
- 容器的地址和別人看到的地址是同一個(gè)地址。
原文鏈接:https://blog.csdn.net/huakai_sun/article/details/82378856
文章轉(zhuǎn)載:分布式實(shí)驗(yàn)室
(版權(quán)歸原作者所有,侵刪)