華為云云原生王者之路鑽石集訓營--學習筆記

MingsonZheng發表於2021-08-15

目錄

  • 雲原生鑽石課程開篇直播
  • 容器執行時技術深度剖析
  • Kubernetes技術架構深度剖析
  • Kubernetes高階排程器原理詳解
  • Kubernetes儲存架構原理深度剖析(上)
  • Kubernetes儲存架構原理深度剖析(下)
  • Kubernetes網路架構原理深度剖析(上)
  • Kubernetes網路架構原理深度剖析(下)
  • Kubernetes運維管理詳解(上)
  • Kubernetes運維管理詳解(下)
  • Kubernetes安全許可權管理深度剖析
  • Kubernetes應用管理深度剖析
  • Istio控制面架構深度剖析
  • Istio資料面架構(Envoy)深度解析
  • Istio流量治理與監控管理深度剖析
  • 傳統微服務框架接入Istio方案詳解

全部課程連結:https://education.huaweicloud.com/programs/63384278-52ab-42e9-8e67-5dff5a9f37fd/about?isAuth=0&cfrom=hwc

雲原生鑽石課程開篇直播

直播回看:https://bbs.huaweicloud.com/live/edu_live/202107191900.html

容器執行時技術深度剖析

  • 容器引擎和執行時機制原理剖析
  • 業界主流容器執行時技術架構剖析
  • 華為雲容器執行時技術架構剖析
  • 容器執行時技術的發展方向

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI041+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI041+Self-paced/courseware/05122317ec3348c88cb9744d6ea03787/c241b33dd9244cd882f0e6bb3b5e64e6/

容器引擎和執行時機制原理剖析

  • Kubernetes定義的容器執行時介面:CRI,當前較為主流的實現包括dockershim、cri-containerd、cri-o
  • OCI runtime spec定義了執行時實現中,檔案格式和命令列格式,runc、kata、gVisor等執行時都符合這個標準
  • Containerd定義了一套ttrpc介面,方便執行時實現者更好地進行容器狀態管理

業界主流容器執行時技術架構剖析

  • Runc:基於linux的namespace、cgroup和capability等技術實現隔離的容器實現
  • kata containers:基於虛擬化隔離技術的容器實現
  • gVisor:一種基於攔截系統呼叫的實現隔離的容器實現

華為雲容器執行時技術架構剖析

  • 華為雲的安全容器基於EulerOS和華為雲自研的qemu-microvm對安全容器進行了輕量化改造
  • 華為雲的安全容器支援GPU、nvlink、Ascend、SDI等硬體裝置
  • 華為雲的安全容器和華為雲的VPC網路、OBS、SFS、EVS等服務可無縫對接

容器執行時技術的發展方向

  • 通過rust改寫、減少host程式,進一步輕量化hypervisor等方式實現更加輕量級的安全容器
  • 結合機密計算技術,實現更加安全的容器技術

Kubernetes技術架構深度剖析

  • Kubernetes系統架構詳解
  • Controller原理詳解
  • list-watch機制原理詳解

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI042+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI042+Self-paced/courseware/6817c598390d4a008e5c6f45777aa10b/9377855719734815b3ac1bb5e7be9b5c/

Kubernetes系統架構詳解

  • Kubernetes總體架構
  • Kubernetes核心元件

Controller原理詳解

  • Kubernetes Controller Manager原理解析
  • Controller工作流程
  • Controller的eventHandler如何註冊
  • client-go under the hood

list-watch機制原理詳解

  • Informer封裝list-watch
  • Informer設計實現
  • Kubernetes核心機制list-watch
  • Watch體驗,通過curl命令watch pods資源
  • Watch是如何實現的
  • List-Watch的設計理念
  • List-Watch實現機制
  • List-Watch實現機制總結
  • 總結:Kubernetes基於list-watch機制的控制器結構

Kubernetes高階排程器原理詳解

  • Kubernetes的排程流程原理與演算法詳解
  • Kubernetes高階排程演算法詳解
  • 華為雲CCE Volcano批量排程演算法與應用場景詳解

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI043+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI043+Self-paced/courseware/1c3150849e3d4905b89042b1a2ebdf42/1432169734c74105a53ade02a878af4b/

Kubernetes的排程流程原理與演算法詳解

  • Kubernetes Scheduling
  • Kubernetes default scheduler 的特點
  • Kubernetes scheduler架構和排程流程
  • Kubernetes的排程策略與演算法
  • 通過Predicate策略篩選符合條件的Node
  • 典型Predicate演算法
  • 通過Priority策略給剩餘的Node評分,挑選最優的節點
  • 典型Priority演算法

Kubernetes高階排程演算法詳解

  • Kubernetes中的Label、Selector機制
  • Node Affinity讓Pod在一組指定的Node上執行
  • Pod Affinity讓Pod與指定Service的一組Pod在相同Node上執行
  • Taints-tolerations來自Node的反親和配置

華為雲CCE Volcano批量排程演算法與應用場景詳解

  • 雲原生批量計算面臨的挑戰
  • Volcano 幫助批量計算面對雲原生的各種挑戰
  • Volcano 總體架構和優勢
  • 典型排程演算法
  • Namespace、Queue fair-share
  • Task-Topology
  • Spark MinResource

Kubernetes儲存架構原理深度剖析(上)

  • Kubernetes容器儲存發展歷程
  • Kubernetes持久化儲存體系
  • PV/PVC的工作原理剖析
  • 華為雲CCE雲原生儲存解決方案Everest的架構介紹

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI044+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI044+Self-paced/courseware/bbd9280142c04709be5775cf1d93bd28/cd68ae3f21ce4b5d9934c45cbaa51903/

  • Kubernetes容器儲存發展歷程
  • Kubernetes持久化儲存體系
  • PV/PVC的工作原理剖析
  • 華為雲CCE雲原生儲存解決方案Everest的架構介紹

Kubernetes容器儲存發展歷程

  • Kubernetes容器儲存發展歷程
  • Kubernetes容器儲存能力簡介

Kubernetes持久化儲存體系

  • Kubernetes持久化儲存體系
  • 持久化儲存優勢分析

PV/PVC的工作原理剖析

  • PV/PVC分配方式
  • 靜態卷:pv的狀態轉換
  • 靜態卷:pvc的狀態轉換
  • pv/pvc繫結原理分析
  • pvc繫結pv流程解讀
  • Kubernetes中pv/pvc相關的程式碼
  • 靜態卷:pv/pvc使用場景示例

華為雲CCE雲原生儲存解決方案Everest的架構介紹

  • Everest架構介紹
  • 雲原生應用使用儲存的推薦方案
  • 部署使用static pv的有狀態應用etcd
  • 檢視使用static pv的有狀態應用etcd

Kubernetes儲存架構原理深度剖析(下)

  • StorageClass工作原理分析
  • CSI容器儲存介面架構解讀
  • 雲原生儲存最佳實踐:從FlexVolume外掛向CSI外掛遷移

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI045+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI045+Self-paced/courseware/8fab4799ab6c445b8f8dbbc0e41a95d8/64809b73c5d14a76ad44902dd9b51b4e/

StorageClass工作原理分析

  • StorageClass工作原理解讀
  • StorageClass應用場景解讀
  • 有狀態應用使用動態PV卷示例

CSI容器儲存介面架構解讀

  • Kubernetes中儲存相關的元件解讀
  • 什麼是雲原生儲存
  • CSI儲存結構解讀
  • CSI儲存介面解讀
  • 自研CSI外掛的構建思路
  • CSI外掛註冊流程解讀

雲原生儲存最佳實踐:從FlexVolume外掛向CSI外掛遷移

  • CSI外掛和Flexvolume外掛對比
  • CSI儲存相容in-tree外掛儲存的方案解讀
  • csi-migration-lib庫解讀
  • CCE服務中CSI儲存相容Flexvolume持久卷的方案解讀

Kubernetes網路架構原理深度剖析(上)

  • Kubernetes基本網路模型剖析
  • Service服務負載均衡機制剖析
  • 華為雲CCE Yangtse網路方案架構剖析

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI046+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI046+Self-paced/courseware/af81a9458abd4a9389ea7f4279d800eb/c44d5d24f44e44d0b3df26850be75745/

Kubernetes基本網路模型剖析

  • 概念釐清
  • K8S網路模型對互通性的要求
  • K8S網路模型(1):Overlay組網模型
  • K8S網路模型(2):二層組網模型
  • K8S網路模型(3):三層組網模型

Service服務負載均衡機制剖析

  • K8S Service負載均衡機制實現原理(1):IPTables
  • K8S Service負載均衡機制實現原理(2):IPVS
  • K8S Service負載均衡機制實現原理(3):eBPF

華為雲CCE Yangtse網路方案架構剖析

  • 華為雲CCE Yangtse網路(1):VPC路由模式
  • 華為雲CCE Turbo Yangtse網路(2):ENI/TrunkPort

Kubernetes網路架構原理深度剖析(下)

  • Ingress服務原理機制剖析
  • CNI介面與實現原理介紹
  • 雲原生網路最佳實踐與經典問題案例

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI047+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI047+Self-paced/courseware/b5f3529dda3946f0b295f0f1eac9a74b/efdbb46de79e49b1bad96a40c35b8ef3/

Ingress服務原理機制剖析

  • Ingress API介面模型與演進
  • Ingress Controller架構剖析

CNI介面與實現原理介紹

  • CNI介面與外掛能力模型
  • CNI在K8S中是如何工作的
  • CNI高階特性舉例

雲原生網路最佳實踐與經典問題案例

  • 雲原生網路最佳實踐(1):IDC與CCE叢集共享DNS方案
  • 雲原生網路最佳實踐(2):微服務容器例項訪問雲資料庫等中介軟體的網路隔離方案
  • K8S容器網路典型問題定位(1):源地址保持的“鍋”?
  • K8S容器網路典型問題定位(2):時延去哪了?

Kubernetes運維管理詳解(上)

  • 工作負載更新和回滾機制詳解
  • 應用探針健康檢查機制詳解
  • 應用彈性伸縮原理詳解

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI048+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI048+Self-paced/courseware/200a2e26f50a492fa016ac65f4cf915a/6720226d0c9f49f3ad13edff23ad44a6/

工作負載更新和回滾機制詳解

  • 無狀態工作負載(deployment)更新
  • 無狀態工作負載(deployment)回滾
  • 有狀態工作負載(StateefulSet)更新
  • 有狀態工作負載(StateefulSet)回滾

應用探針健康檢查機制詳解

  • 容器健康檢查
  • 探針檢查機制

應用彈性伸縮原理詳解

  • 彈性伸縮概述
  • AutoScaler節點伸縮原理解析
  • HPA工作負載伸縮原理解析
  • 使用HPA+CA實現工作負載和節點聯動彈性伸縮
  • 建立HPA示例
  • 檢視HPA

Kubernetes運維管理詳解(下)

  • 叢集可觀測性詳解
  • 常見叢集故障排錯分析
  • 華為雲CIE叢集監控方案架構詳解

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI049+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI049+Self-paced/courseware/b3464e0101d24fc1ab00e3c132a0c785/04b23f7ba1a9441781c59e5e79bcd499/

叢集可觀測性詳解

  • 雲原生應用特點
  • K8S與雲原生應用監控挑戰
  • 雲原生可觀測性
  • 指標監控與prometheus
  • Prometheus架構
  • 基於prometheus-operator叢集監控
  • K8S叢集監控指標解析
  • 基於Grafana指標視覺化
  • 叢集事件監控
  • NodeProblemDetector(NPD)
  • 叢集日誌監控
  • 拓撲與呼叫鏈

常見叢集故障排錯分析

  • 叢集常見問題排障

華為雲CIE叢集監控方案架構詳解

  • 華為雲容器洞察引擎(CIE)架構解析
  • 集中統一的告警、事件管理和日誌分析
  • 快速故障定位

Kubernetes安全許可權管理深度剖析

  • 叢集准入控制機制詳解
  • 叢集認證機制剖析
  • 叢集鑑權機制RBAC剖析

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI050+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI050+Self-paced/courseware/51eb69d01b414a0e985cdf4c862ccdd9/abf9cb2f1e71457ea4c01c99602afa23/

叢集准入控制機制詳解

  • 叢集准入控制機制詳解
  • Kubernetes API 訪問控制

叢集認證機制剖析

  • 認證(Authentication)

叢集鑑權機制RBAC剖析

  • 鑑權(Authorization)

Kubernetes應用管理深度剖析

  • K8s應用模板的使用場景介紹
  • Helm chart模板機制詳解
  • Operator機制詳解

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI051+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI051+Self-paced/courseware/cf547353b7dc425fadd6f022f4d225e4/3bf61c0c056646548747ab1096925628/

K8s應用模板的使用場景介紹

  • Helm能給我們帶來什麼
  • 什麼是Operator
  • Helm VS Operator

Helm chart模板機制詳解

  • Helm架構
  • Chart包示例
  • Chart.yaml示例
  • Template-Value示例
  • 內建物件
  • 子模板
  • Hook機制
  • Chart依賴管理

Operator機制詳解

  • Operator原理--擴充套件Kubernetes API,定義應用
  • Operator原理--Kubernetes Controller機制
  • Operator原理--實現Operator,管理應用
  • Operator實戰--Redis叢集拓撲
  • Operator實戰--Redis擴縮容
  • Operator實戰--Redis資料備份
  • Operator自身管理--Operator Framework

Istio控制面架構深度剖析

  • Istio整體架構
  • 透明的Sidecar原理
  • Istio基本功能實現原理

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI052+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI052+Self-paced/courseware/2196b207c84945a6b54e834897ee0828/3d614ae1b0014116be0694086bb4de71/

Istio整體架構

  • Istio整體架構
  • Pilot基本架構
  • Citadel基本架構
  • Galley基本架構
  • Pilot-Agent基本架構

透明的Sidecar原理

  • Sidecar基本介紹
  • Sidecar流量攔截
  • Envoy流量代理流程
  • Envoy流量匹配與轉發

Istio基本功能實現原理

  • 流量治理基本API
  • 流量治理基本原理
  • 服務發現
  • 路由匹配
  • 灰度釋出
  • 服務網格監控-Observability
  • 服務網格監控-Metrics
  • 服務網格監控-Trace
  • 服務網格監控-AccessLog

Istio資料面架構(Envoy)深度剖析

  • 服務網格資料面Envoy介紹
  • Envoy原理及總體架構
  • Envoy啟動配置及xDS
  • Envoy網路及執行緒模型、過濾器架構、HTTP請求流程
  • Envoy問題分析方法

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI053+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI053+Self-paced/courseware/b56e7d61ad3e4b978fec062f752098ac/83b4a7566b6d4a198e62148dc9a6fede/

服務網格資料面Envoy介紹

  • Envoy介紹

Envoy原理及總體架構

  • Envoy原理及總體架構-啟動
  • Envoy原理及總體架構-說明
  • Envoy原理及總體架構-流量攔截

Envoy啟動配置及xDS

  • Envoy啟動配置及xDS
  • Envoy啟動配置及xDS-cont'(實操)
  • Envoy常用部署方式

Envoy網路及執行緒模型、過濾器架構、HTTP請求流程

  • Envoy網路及執行緒模型
  • Envoy網路及執行緒模型-共享資料同步
  • Envoy網路及執行緒模型-叢集資訊更新
  • Envoy網路及執行緒模型-網路處理
  • Envoy過濾器架構
  • Envoy過濾器架構-常用過濾器
  • Envoy過濾器架構-相關程式碼
  • EnvoyHTTP請求流程

Envoy問題分析方法

  • Envoy問題分析方法
  • Istio資料面發展趨勢

Istio流量治理與監控管理深度剖析

  • Istio流量治理基本介紹
  • Istio流量治理深度剖析
  • Istio監控深度剖析

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI054+Self-paced/about

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI054+Self-paced/courseware/d8600435a1354a9a8e956ed2235c6463/715d0789895540de8b6fe674743d6a35/

Istio流量治理基本介紹

  • 流量治理推演
  • Istio流量治理基本介紹

Istio流量治理深度剖析

  • Istio流量治理深度解析-VirtualService
  • Istio流量治理深度解析-Header Manipulation
  • Istio流量治理深度解析-DestinationRule
  • Istio流量治理深度解析-Gateway
  • Istio流量治理深度解析-ServiceEntry
  • Istio流量治理深度解析-Sidecar

Istio監控深度剖析

  • Istio Observability
  • 服務網格監控-Metrics
  • 服務網格監控-Trace
  • 服務網格監控-AccessLog

傳統微服務框架接入Istio方案詳解

  • 微服務的概念和原理
  • 傳統微服務框架的問題和基於服務網路的解決方案
  • 傳統微服務框架在服務網路中整合的實踐詳細

直播回看:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI055+Self-paced/about?ticket=ST-218519-yh6KJ3MmxB4YRPHQtd5zHJMR-sso

課程ppt:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXI055+Self-paced/courseware/511f6f06d97d4aaf9b90445dca5800d1/3c130e3e46c14eb79c01eaf12e030d73/

微服務的概念和原理

  • 微服務架構業務解耦的同時帶來了極大的複雜度
  • 基於傳統微服務SDK的服務治理
  • 基於網路的服務治理
  • 模型:服務發現 & 負載均衡
  • 模型:服務熔斷

傳統微服務框架的問題和基於服務網路的解決方案

  • 問題一:微服務SDK的多語言問題
  • 方案一:服務網格統一在資料面上執行統一的流量策略
  • 問題二:基於SDK的微服務在Kubernetes上執行的服務發現延遲和資料不一致問題
  • 方案二:Istio服務網格基於Kubernetes構建,使用平臺一致的服務發現
  • 問題三:基於SDK開發的微服務,SDK邏輯升級,所有業務必須重新編譯升級
  • 方案三:網路資料面和業務解耦,治理能力升級只需要平臺升級,使用者業務無需升級
  • 問題四:基於SDK進行微服務化時,為了統一服務發現和治理能力,一般要全部一起改造
  • 方案四:基於服務網格漸進微服務化,對老的單體和新的微服務同時服務發現和服務治理

傳統微服務框架在服務網路中整合的實踐詳細

  • 總體思路:解除安裝服務治理能力到平臺,SDK保留開發框架能力
  • Kubernetes平臺自有的服務發現替代業務內建的服務發現
  • 在Kubernetes基礎上啟用服務網格,業務程式碼無需修改、服務發現無需適配
  • 通過修改配置使得切換Springcloud服務發現為Kubernetes服務發現
  • 通過修改配置使得切換Dubbo服務發現為Kubernetes服務發現
  • Dubbo服務開放HTTP和Dubbo兩種應用協議,可以通過Dubbo和HTTP兩種協議訪問
  • Dubbo服務治理配置
  • 程式碼解除安裝微服務框架中的服務治理部分,只保留應用開發框架
  • 微服務閘道器演進方案
  • 多開發語言、多種框架的服務直接可以基於同一套服務發現和服務治理平臺管理
  • 匯入和整合微服務註冊中心資料到網路,支援網路對微服務框架開發的服務和訪問治理
  • 實踐:SpringCloud app使用Istio的灰度釋出總體效果
  • 實踐:SpringCloud app使用Istio的灰度釋出流量規則配置
  • 實踐:SpringCloud服務基於網路熔斷(1)
  • 實踐:SpringCloud服務基於網路熔斷(2)
  • 實踐:SpringCloud服務基於網路熔斷(3)
  • 實踐:SpringCloud服務基於網路熔斷(4)
  • 實踐:SpringCloud服務基於網路熔斷(5)

知識共享許可協議

本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。

歡迎轉載、使用、重新發布,但務必保留文章署名 鄭子銘 (包含連結: http://www.cnblogs.com/MingsonZheng/ ),不得用於商業目的,基於本文修改後的作品務必以相同的許可釋出。

相關文章