初識K8s

K8s

雲計算,發展經歷: IAAS,基礎設施級服務,阿里雲 PAAS,平臺級服務,新浪雲(ICE,免費運維,自動化運維工具==》Docker,自動構建運行環境封裝體) SAAS,軟件設施級服務,office365

Docker,成爲PAAS的下一代標準,但是容器集羣化帶來的問題是物理機器與容器的端口映射與高效通信問題 ===》資源管理器:

Apache MESOS,分佈式資源管理框架,2019.5.2 推特的資源管理平臺不再用MESOS而改用K8s

Docker Swarm,資源管理器,集羣化方案,很輕量,但功能相對k8s太少,高級功能實現起來太費時費力,2019.7阿里雲宣佈不在使用Docker Swarm

Kubernetes,功能全面,Google 10年容器化基礎架構,而內部使用Borg框架(go語言 對borg翻寫 =》 k8s) 特點: 輕量級:消耗資源小 開源: 彈性伸縮:服務器規模可以平滑的伸縮 負載均衡:k8s內部已經實現模塊間負載均衡,採用IPVS框架,功能強大

適合人羣:軟件工程師,測試工程師,運維工程師,軟件架構師,項目經理

k8s 知識圖譜:

介紹說明: 前世今生 K8s框架 K8s關鍵字(含義)

Pod:最小的封裝集合,一個Pod中封裝多個容器,K8s管理的最小單位,Pod管理控制器,服務發現,Pod協同(溝通)

通信模式:Pod之間的通訊(本節點/跨節點)

K8s安裝:構建K8s集羣

資源清單:資源,yam 語法格式,通過資源清單編寫Pod

Pod聲明週期:initC,Pod phase,容器探針,Pod hook,重啓策略

Pod控制器:各種控制器的特點、使用、定義方式【Deployment

 

服務發現:通過控制器運行的Pod集合若要對外提供訪問,必須通過服務發現將ip端口信息暴露給客戶端【輪詢】 掌握 SVC 原理及其構建方式

服務的分類: 有狀態服務:DBMS 無狀態服務:LVS APACHE

存儲:各種存儲類型的特點,能夠在不同環境中選擇合適的存儲方案(需要結合自己的理解)

調度器:K8s會自動把Pod調度到對應的節點,若需要手動調度則需要通過調度器來完成 掌握調度原理,能根據要求把Pod定義到想要的節點

集羣安全機制:集羣的認證 鑑權 訪問控制 原理&流程

HELM:(K8s-HELM ~ Linux-yum) 掌握HELM原理 HELM模板自定義 HELM部署常用插件

運維:修改kuneadm修改證書年限 構建K8s的高可用集羣


Borg組件 架構:

 

K8s組件 架構:(kubectl 命令行管理工具)

 

etcd:(對應於Borg的Paxos) go語言編寫,鍵值對數據庫,k8s集羣持久化方案,可信賴的分佈式鍵值存儲服務,協助分佈式集羣正常運轉 etcd v2所有數據寫入memory,v3引入了本地卷持久化操作(K8s v1.11之後的版本採用etcd v3)

 

node:

高可用集羣的副本數量最好時 >= 3的奇數(容錯、選主)

API Server:所有服務訪問的 統一入口

ControllerManager:控制器,維持副本的期望數目

Scheduler:負責接收任務,選擇合適的節點進行分配任務

ETCD:鍵值對數據庫 存儲K8s集羣的所有重要信息(持久化)

Kubelet:直接跟容器引擎(Docker)交互實現容器的生命週期管理

Kube-proxy:負責寫入規則至 iptables、ipvs 實現服務映射訪問

其他插件: CoreDNS:可以爲集羣中的 SVC 創建一個域名IP的對應關係解析 Dashboard:給K8s集羣提供一個 B/S 機構的訪問體系 Ingress Controller:官方只能實現四層代理,Ingress可以實現七層代理(可根據主機名、域名進行負載均衡) Fedetation:提供一個可以跨集羣中心多K8s統一管理功能 Prometheus:提供K8s集羣的監控能力 ELK:提供K8s集羣日誌統一分析接入平臺

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章