1、網絡實現拓撲圖
2、Proxy主機(master&standby)
1. 主機分別爲:10.3.153.211(test-master)與10.3.153.212(test-standby)
2. 安裝應用:nginx 、keepalived、etcd
3. 應用服務做用:
nginx:提供四層與七層的服務代理轉發,分別對兩臺apiserver 6443端口進行轉發。
keepalived:保證兩臺Proxy服務器的NGINX服務高可用。
etcd:爲整個K8S的數據庫(非關係型數據),存儲集羣的元數據信息,做用類同於ZK等。
3、運維主機
1.主機:10.3.153.200(test-operator)
2.安裝應用:harbor 、cfssl、docker(docker-compose)
3.應用服務做用:
harbor:提供私有倉庫,用於存放鏡像。
cfssl:私有自簽發證書,用於提供各主控節點與運算節點之間的證書需求。
docker(docker-compose):用於安裝harbor提供軟件組件。
4、nodes運算節點主機
1.主機:10.3.153.221(test-nodes1)與10.3.153.222(test-nodes2)
2.安裝應用:etcd、apiserver、kube-Controller-manager、kube-scheduler、kubelet、kube-proxy、docker(Pod)
3.應用服務做用:
etcd:
一、爲整個K8S的數據庫(非關係型數據),存儲集羣的元數據信息,做用類同於ZK等。
apiserver:
一、提供了集羣管理的REST API接口(包括鑑權、數據校驗及集羣狀態變動)。
二、負責其餘模塊之間數據交互,承擔通訊樞紐功能。
三、是資源配額控制的入口。
四、提供完備的集羣安全機制。
kube-Controller-manager:
一、由一系列控制器組成,經過apiserver監控整個集羣的狀態,並確保集羣上於預期的工做狀態。
kube-scheduler:
一、主要功能是接收調度Pod到適合的運算節點上,如:預算策略、優選策略。
kubelet:
一、簡單地說,kubelet的主要功能就是定從某上地方獲取節點上pod的指望狀態(運行什麼容器、運行的副本數量、網絡或存儲如何配置寺等),並調用對應的容器平臺接口達到這個狀態。
二、定時彙報當前節點的狀態給apiserver,以供調度的時使用。
三、鏡像和容器的清理工做,保證節點上鏡像不會佔滿磁盤空間,退出容器不會佔用太多資源
kube-proxy:
一、在K8S在每一個節點上運行的網絡代理,service資源的載體創建了pod網絡和集羣網絡的關係(clusterip-podip)
二、經常使用三種 流量調度模式:Userspace\Iptables\ipvs(lvs推薦)
三、負責創建和刪除包括更新調度規則,通知apiserver本身的更新,或者從apiserver哪裏獲取其餘kube-proxy的調度規則變化來更新本身
5、數據訪問流轉圖