课程大纲
模块 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)®
机器翻译