總體架構目錄:ASP.NET Core分佈式項目實戰-目錄html
k8s架構目錄:Kubernetes(k8s)集羣部署(k8s企業級Docker容器集羣管理)系列目錄node
軟件 | 版本 |
Linux | CentOS7 18.04 |
Kubernetes | 1.9(也適用1.10) |
Docker | 18.06-ce |
etcd | 3.0 |
服務 | IP | 組件 |
master01 | 192.168.161.151 | kube-apiserver算法 kube-controller-managerdocker kube-scheduler後端 etcdapi (主master)微信 |
master02 | 192.168.161.150 | kube-apiserver網絡 kube-controller-manager架構 kube-scheduler負載均衡 (後期主要爲擴展爲master高可用說明) |
node01 | 192.168.161.152 | kubelet kube-proxy docker flannel etcd |
node02 | 192.168.161.153 | kubelet kube-proxy docker flannel etcd |
具體介紹可自行去官網查看:www.kubernetes.io ,這邊主要說明k8s是用來幹什麼的,k8s主要用來自動化部署、擴展和管理容器應用,提供了資源調度、部署管理、服務發現、擴容縮容、監控等一整套功能,目標是讓部署容器化應用簡單高效
Pod:Pod是最小部署單元,一個Pod有一個或多個容器組成,Pod中容器共享存儲和網絡,在同一臺Docker主機上運行。
Service:
Service一個應用服務抽象,定義了Pod邏輯集合和訪問這個Pod集合的策略。
Service代理Pod集合對外表現是爲一個訪問入口,分配一個集羣IP地址,來自這個IP的請求將負載均衡轉發後端Pod中的容器。
Service經過Lable Selector選擇一組Pod提供服務
Volume: 數據卷,共享Pod中容器使用的數據
Namespace:
命名空間將對象邏輯上分配到不一樣Namespace,能夠是不一樣的項目、用戶等區分管理,並設定控制策略,從而實現多租戶。
命名空間也稱爲虛擬集羣。
Lable: 標籤用於區分對象(好比Pod、Service),鍵/值對存在;每一個對象能夠有多個標籤,經過標籤關聯對象
ReplicaSet:
下一代Replication Controller。確保任何給定時間指定的Pod副本數量,並提供聲明式更新等功能。
RC與RS惟一區別就是lable selector支持不一樣,RS支持新的基於集合的標籤,RC僅支持基於等式的標籤
Deployment:
Deployment是一個更高層次的API對象,它管理ReplicaSets和Pod,並提供聲明式更新等功能。
官方建議使用Deployment管理ReplicaSets,而不是直接使用ReplicaSets,這就意味着可能永遠不須要直接操做ReplicaSet對象。
StatefulSet:
StatefulSet適合持久性的應用程序,有惟一的網絡標識符(IP),持久存儲,有序的部署、擴展、刪除和滾動更新。
DaemonSet:
DaemonSet確保全部(或一些)節點運行同一個Pod。當節點加入Kubernetes集羣中,Pod會被調度到該節點上運行,當節點從集羣中
移除時,DaemonSet的Pod會被刪除。刪除DaemonSet會清理它全部建立的Pod。
Job:
一次性任務,運行完成後Pod銷燬,再也不從新啓動新容器。還能夠任務定時運行
Master組件:
kube-apiserver:
Kubernetes API,集羣的統一入口,各組件協調者,以HTTP API提供接口服務,全部對象資源的增刪改查和監聽操做都交給APIServer處理後再提交給Etcd存儲。
kube-controller-manager:
處理集羣中常規後臺任務,一個資源對應一個控制器,而ControllerManager就是負責管理這些控制器的。
kube-scheduler:
根據調度算法爲新建立的Pod選擇一個Node節點。
Node組件:
kubelet:
kubelet是Master在Node節點上的Agent,管理本機運行容器的生命週期,好比建立容器、Pod掛載數據卷、
下載secret、獲取容器和節點狀態等工做。kubelet將每一個Pod轉換成一組容器。
kube-proxy:
在Node節點上實現Pod網絡代理,維護網絡規則和四層負載均衡工做。
docker:運行容器。
第三方服務:
etcd
分佈式鍵值存儲系統。用於保持集羣狀態,好比Pod、Service等對象信息。
主要講解第一部分的:自籤TLS證書和部署Etcd集羣
asp.net Core 交流羣:787464275 歡迎加羣交流
若是您認爲這篇文章還不錯或者有所收穫,您能夠點擊右下角的【推薦】按鈕精神支持,由於這種支持是我繼續寫做,分享的最大動力!
微信公衆號:歡迎關注 QQ技術交流羣: 歡迎加羣