課程簡介
模塊 1:微服務設計
• 良好的微服務邊界
• 使用領域驅動設計 (DDD)
• 業務域邊界的替代方案(揮發性、數據、技術、組織)
• 拆分單體應用
• 過早分解的風險
• 按層分解
• 使用分解模式( strangler, Parallel Run, Feature Toggle)
• 數據分解關注點(性能、完整性、事務)
模塊 2:優化 Docker 和運行時
• 選擇合適的基準鏡像
• 最小化層數
• 使用多階段構建
• 鏡像優化(排序多行參數等)
• 利用構建緩存
• 固定鏡像版本
• 微調資源分配
• 安全容器實踐
• 用於性能優化的運行時配置
模塊 3:Kubernetes 與發佈策略
Kubernetes Deployment 概述
• 創建並執行初始部署
• Kubernetes Deployment 選項
執行滾動更新部署
• 理解滾動更新
• 創建並執行滾動更新
• 回滾部署
執行金絲雀部署
• 理解金絲雀部署
• 創建並執行金絲雀部署
執行藍綠部署
• 理解藍綠部署
• 創建並執行藍綠部署
運行 Jobs 和 CronJobs
• 創建 Job 和 CronJob
執行監控與故障排除任務
• 使用 kubectl 的故障排除技巧
模塊 4:自動化與運營效率
使用 Python 自動化 Kubernetes 常見任務
• 使用 Python 在 Kubernetes 中執行管理操作
• 使用 Python 定義配置對象
• 使用 Python 創建 Deployment 對象
• 使用 Python 監聽 Kubernetes 事件
• 使用 Python 擴縮容 Deployment
理解自動化部署的挑戰
• Kubernetes 的聲明式配置
• 管理配置的完整性
使用 GitOps 方法自動化部署
• GitOps 原則
• 介紹 Flux
• 在 Kubernetes 集羣中安裝 Flux
配置 Flux 以進行自動化部署
• 使用通知
• 源代碼倉庫結構
通過鏡像自動化處理應用更新
• 使用 Flux 更新應用 Deployment
• 掃描容器鏡像倉庫的標籤
• 定義最新鏡像選擇的策略
• 配置 Flux 以執行自動鏡像更新
模塊 5:可觀測性與根本原因清晰度
Kubernetes 日誌與追蹤能力
• 爲什麼日誌和追蹤很重要
• 訪問 Kubernetes 日誌
• Pod 和容器日誌
• 控制平面日誌
• 節點和 Pod 的資源使用情況
收集和分析日誌
• 日誌聚合
• 日誌可視化
Kubernetes 中的分佈式追蹤
• 什麼是分佈式追蹤
• 使用 OpenTelemetry
• 分佈式追蹤工具
• 對應用進行插樁 (Instrumenting)
• 利用追蹤查找性能問題
使用 Prometheus 和 Grafana 進行監控
• 可觀測性概念
• 監控工具
• 使用 Prometheus 插樁
日誌的高級用例
• 處理日誌
• 過濾和豐富日誌
• 事件溯源 (Event Sourcing)
模塊 6:集羣危機模擬與事件響應
• 理解集羣環境中不同類型的故障
• 模擬節點故障
• Pod 驅逐與資源耗盡場景
• 網絡問題
• DNS 故障及應用超時處理
• 模擬 API Server 宕機
• 模擬高流量以測試系統穩定性
• 存儲故障
• 配置錯誤
• 理解事件報告程序
模塊 7:AI 輔助故障排除
• 生成式 AI 對 Kubernetes 的益處
• K8sGPT CLI 架構
• 安裝 K8sGPT CLI
• K8sGPT 命令與使用
• 使用 K8sGPT Analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer 等)
• 使用 K8sGPT 分析集羣
• 使用 K8sGPT 分析即時問題
• K8sGPT 的集羣內運算符 (In-Cluster Operator)
最低要求
- 基本的 Linux 命令行知識
- 具有應用開發或系統管理經驗
- 熟悉容器概念(Docker)
- 基本瞭解 Kubernetes 概念(Pod、Deployment、Service)
- 對軟件架構有總體理解(例如 API、服務)
目標受衆:
- DevOps 工程師
- 站點可靠性工程師 (SRE)
- 從事微服務的後端 / 軟件開發人員
- 雲工程師和平臺工程師
-
轉型到 Kubernetes 環境的系統管理員
客戶評論 (2)
Craig在培訓中非常投入,始終確保我們保持專注,將示例調整到我們的日常活動中,並在被提問時總是提供答案,即使信息未在演示中提及。
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
課程 - DevOps Foundation®
機器翻譯
培訓師的高度承諾和專業知識
Jacek - Softsystem
課程 - DevOps Engineering Foundation (DOEF)®
機器翻譯