联系我们

课程大纲

模块 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 环境的系统管理员

     

 49 小时

客户评论 (2)

即将举行的公开课程

课程分类