課程簡介
模組 1:微服務設計
• 良好的微服務邊界
• 使用領域驅動設計 (DDD)
• 商業領域邊界的替代方案(波動性、數據、技術、組織)
• 拆解單體系統
• 過度分解的問題
• 按層級分解
• 使用分解模式(絞殺者模式、平行運行、功能開關)
• 數據分解的考量(性能、完整性、事務)
模組 2:優化 Docker 和運行時
• 選擇合適的基础映像
• 減少層數
• 使用多階段構建
• 映像最佳化(排序多行參數等)
• 利用構建緩存
• 固定映像版本
• 微調資源分配
• 安全的容器實踐
• 性能导向的運行時配置
模組 3:Kubernetes 與釋放策略
Kubernetes Deployment 概覽
• 創建和執行初始部署
• Kubernetes Deployment 選項
執行滾動更新部署
• 理解滾動更新
• 創建和執行滾動更新
• 回滾部署
執行先遣部署(Canary Deployments)
• 理解先遣部署
• 創建和執行先遣部署
執行藍綠色部署
• 理解藍綠色部署
• 創建和執行藍綠色部署
運行 Job 和 CronJob
• 創建 Job 和 CronJob
執行監控與故障排除任務
• 使用 kubectl 的故障排除技術
模組 4:自動化與運營效率
使用 Python 自動化 Kubernetes 常見任務
• 使用 Python 執行 Kubernetes 管理操作
• 使用 Python 定義配置對象
• 使用 Python 創建 Deployment 對象
• 使用 Python 監控 Kubernetes 事件
• 使用 Python 擴展 Deployment
理解自動化部署的挑戰
• Kubernetes 的命令式配置
• 管理配置的完整性
使用 GitOps 方法自動化部署
• GitOps 原則
• 介紹 Flux
• 將 Flux 安裝到 Kubernetes 集群
配置 Flux 以實現自動部署
• 使用通知功能
• 源倉庫結構
處理使用映像自動化的應用更新
• 使用 Flux 更新應用部署
• 掃描容器映像倉庫以獲取標籤
• 定義最新映像選擇的政策
• 配置 Flux 執行自動映像更新
模組 5:可觀測性與根因清晰度
Kubernetes 日誌與追蹤能力
• 日誌和追蹤的重要性
• 訪問 Kubernetes 日誌
• Pod 和容器日誌
• 控制平面日誌
• Node 和 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、Deployment、Service)
- 對軟體架構有通用理解(例如 API、服務)
目標受眾:
- DevOps 工程師
- 站點可靠性工程師 (SRE)
- 使用微服務的後端或軟體開發人員
- 雲端工程師和平台工程師
-
轉向 Kubernetes 環境的系統管理員
客戶評論 (2)
Craig在培訓中非常投入,始終確保我們保持專注,將示例調整到我們的日常活動中,並在被提問時總是提供答案,即使信息未在演示中提及。
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
課程 - DevOps Foundation®
機器翻譯
培訓師的高度承諾和專業知識
Jacek - Softsystem
課程 - DevOps Engineering Foundation (DOEF)®
機器翻譯