Kubernetes 超詳細總結
一個目標:容器操作;兩地三中心;四層服務發(fā)現(xiàn);五種Pod共享資源;六個CNI常用插件;七層負載均衡;八種隔離維度;九個網(wǎng)絡模型原則;十類IP地址;百級產(chǎn)品線;千級物理機;萬級容器;相如無億,Kubernetes有億:億級日服務人次。
一個目標:容器操作
- 自動化容器部署和復制。
- 實時彈性收縮容器規(guī)模。
- 容器編排成組,并提供容器間的負載均衡。
- kubectl:客戶端命令行工具,作為整個系統(tǒng)的操作入口。
- kube-apiserver:以REST API服務形式提供接口,作為整個系統(tǒng)的控制入口。
- kube-controller-manager:執(zhí)行整個系統(tǒng)的后臺任務,包括節(jié)點狀態(tài)狀況、Pod個數(shù)、Pods和Service的關聯(lián)等。
- kube-scheduler:負責節(jié)點資源管理,接收來自kube-apiserver創(chuàng)建Pods任務,并分配到某個節(jié)點。
- etcd:負責節(jié)點間的服務發(fā)現(xiàn)和配置共享。
- kube-proxy:運行在每個計算節(jié)點上,負責Pod網(wǎng)絡代理。定時從etcd獲取到service信息來做相應的策略。
- kubelet:運行在每個計算節(jié)點上,作為agent,接收分配該節(jié)點的Pods任務及管理容器,周期性獲取容器狀態(tài),反饋給kube-apiserver。
- DNS:一個可選的DNS服務,用于為每個Service對象創(chuàng)建DNS記錄,這樣所有的Pod就可以通過DNS訪問服務了。


- 簡單:基于http+json的API讓你用curl命令就可以輕松使用。
- 安全:可選SSL客戶認證機制。
- 快速:每個實例每秒支持一千次寫操作。
- 可信:使用Raft算法充分實現(xiàn)了分布式。



- PID命名空間:Pod中的不同應用程序可以看到其他應用程序的進程ID。
- 網(wǎng)絡命名空間:Pod中的多個容器能夠訪問同一個IP和端口范圍。
- IPC命名空間:Pod中的多個容器能夠使用SystemV IPC或POSIX消息隊列進行通信。
- UTS命名空間:Pod中的多個容器共享一個主機名。
- Volumes(共享存儲卷):Pod中的各個容器可以訪問在Pod級別定義的Volumes。


- 內(nèi)網(wǎng)接入交換機:也稱為TOR(top of rack),是服務器接入網(wǎng)絡的設備。每臺內(nèi)網(wǎng)接入交換機下聯(lián)40-48臺服務器,使用一個掩碼為/24的網(wǎng)段作為服務器內(nèi)網(wǎng)網(wǎng)段。
- 內(nèi)網(wǎng)核心交換機:負責IDC內(nèi)各內(nèi)網(wǎng)接入交換機的流量轉發(fā)及跨IDC流量轉發(fā)。
- MGW/NAT:MGW即LVS用來做負載均衡,NAT用于內(nèi)網(wǎng)設備訪問外網(wǎng)時做地址轉換。
- 外網(wǎng)核心路由器:通過靜態(tài)互聯(lián)運營商或BGP互聯(lián)美團統(tǒng)一外網(wǎng)平臺。
- 二層負載均衡:基于MAC地址的二層負載均衡。
- 三層負載均衡:基于IP地址的負載均衡。
- 四層負載均衡:基于IP+端口的負載均衡。
- 七層負載均衡:基于URL等應用層信息的負載均衡。

- Service可能有很多個,如果每個都綁定一個Node主機端口的話,主機需要開放外圍的端口進行服務調用,管理混亂。
- 無法應用很多公司要求的防火墻規(guī)則。

- 所有容器都可以不用NAT的方式同別的容器通信。
- 所有節(jié)點都可以在不同NAT方式下同所有容器心痛,反之亦然。
- 容器的地址和別人看到的地址是同一個地址。







原文鏈接:https://blog.csdn.net/huakai_sun/article/details/82378856
文章轉載:分布式實驗室
(版權歸原作者所有,侵刪)