課程簡介
模組 1:微服務設計
• 良好的微服務邊界
• 使用領域驅動設計 (DDD)
• 業務域邊界的替代方案(波動性、資料、技術、組織)
• 拆單體系統
• 過早分解
• 按層分解
• 使用分解模式( strangler, 平行運行, 功能開關)
• 資料分解考量(效能、完整性、交易)
模組 2:最佳化 Docker 與執行階段
• 選擇適當的基礎映像
• 最小化層數
• 使用多階段構建
• 映像最佳化(排序多行參數等)
• 利用構建快取
• 釘選映像版本
• 微調資源分配
• 安全容器實踐
• 效能相關的執行階段配置
模組 3:Kubernetes 與發布策略
Kubernetes 部署概覽
• 建立並執行初始部署
• Kubernetes 部署選項
執行滾動更新部署
• 理解滾動更新
• 建立並執行滾動更新
• 回滾部署
執行金丝雀發布
• 理解金丝雀發布
• 建立並執行金丝雀發布
執行藍綠部署
• 理解藍綠部署
• 建立並執行藍綠部署
運行任務和定時任務
• 建立 Job 和 CronJob
執行監控與故障排除任務
• 使用 kubectl 的故障排除技巧
模組 4:自動化與運營效率
使用 Python 自動化 Kubernetes 中的常見任務
• 使用 Python 執行 Kubernetes 的管理操作
• 使用 Python 定義配置對象
• 使用 Python 建立部署對象
• 使用 Python 觀察 Kubernetes 事件
• 使用 Python 擴展部署
理解自動化部署的挑戰
• Kubernetes 的宣告式配置
• 管理配置的完整性
使用 GitOps 方法自動化部署
• GitOps 原則
• 介紹 Flux
• 將 Flux 安裝到 Kubernetes 叢集
配置 Flux 以進行自動部署
• 使用通知
• 源倉儲庫結構
處理透過映像自動化的應用程式更新
• 使用 Flux 更新應用程式部署
• 掃描容器映像倉儲庫的標籤
• 定義最新映像選擇的政策
• 配置 Flux 執行自動映像更新
模組 5:可觀測性與根本原因清晰度
Kubernetes 日誌記錄與追蹤能力
• 日誌記錄和追蹤的重要性
• 訪問 Kubernetes 日誌
• Pod 和容器日誌
• 控制平面日誌
• 節點和 Pod 的資源使用情況
收集和分析日誌
• 日誌聚合
• 日誌可視化
Kubernetes 中的分散式追蹤
• 什麼是分散式追蹤
• 使用 OpenTelemetry
• 分散式追蹤工具
† 儀器化應用程式
• 使用追蹤查找效能問題
使用 Prometheus 和 Grafana 進行監控
• 可觀測性概念
• 監控工具
• 使用 Prometheus 儀器化
日誌記錄的進階用例
• 處理日誌
• 過濾和豐富日誌
• 事件溯源
模組 6:叢集危機模擬與事件回應
• 理解叢集環境中不同類型的故障
• 模擬節點故障
• Pod 驅逐與資源耗盡情境
• 網路問題
• DNS 故障以處理應用程式超時
• 模擬 API Server 中斷
• 模擬高流量以測試系統穩定性
• 儲存故障
• 配置錯誤
• 理解事件報告程序
模組 7:AI 支援故障排除
• 生成式 AI 對 Kubernetes 的好處
• K8sGPT CLI 架構
• 安裝 K8sGPT CLI
• K8sGPT 命令與使用方式
• 使用 K8sGPT 分析器(podAnalyzer, pvcAnalyzer, rsAnalyzer 等)
• 使用 K8sGPT 分析叢集
• 使用 K8sGPT 分析即時問題
• K8sGPT 的集群內運算子
最低要求
- 基本的 Linux 命令列知識
- 應用開發或系統管理經驗
- 熟悉容器(Docker 概念)
- 基本理解 Kubernetes 概念(pod、部署、服務)
- 對軟體架構的一般性理解(例如 API、服務)
目標受眾:
- DevOps 工程師
- 網站可靠性工程師 (SRE)
- 後端 / 軟體開發人員,工作涉及微服務
- 雲端工程師和平台工程師
-
transitioning 到 Kubernetes 環境的系統管理員
客戶評論 (2)
Craig在培訓中非常投入,始終確保我們保持專注,將示例調整到我們的日常活動中,並在被提問時總是提供答案,即使信息未在演示中提及。
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
課程 - DevOps Foundation®
機器翻譯
培訓師的高度承諾和專業知識
Jacek - Softsystem
課程 - DevOps Engineering Foundation (DOEF)®
機器翻譯