联系我们

课程大纲

模块1:微服务设计

• 良好的微服务边界
• 使用领域驱动设计(DDD)
• 业务领域边界的替代方案(波动性、数据、技术、组织)
• 拆分单体应用
• 过早分解
• 按层分解
• 使用分解模式(Strangler、并行运行、功能切换)
• 数据分解问题(性能、完整性、事务)

模块2:优化Docker和运行时

• 选择合适的基础镜像
• 最小化层数
• 使用多阶段构建
• 镜像优化(排序多行参数等)
• 利用构建缓存
• 固定镜像版本
• 微调资源分配
• 安全容器实践
• 运行时配置以优化性能

模块3:Kubernetes与发布策略

Kubernetes部署概述
• 创建和执行初始部署
• Kubernetes部署选项

执行滚动更新部署
• 理解滚动更新
• 创建和执行滚动更新
• 回滚部署

执行金丝雀部署
• 理解金丝雀部署
• 创建和执行金丝雀部署

执行蓝绿部署
• 理解蓝绿部署
• 创建和执行蓝绿部署

运行作业和CronJobs
• 创建作业和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服务器中断
• 模拟高流量以测试系统稳定性
• 存储故障
• 配置错误
• 理解事件报告流程

模块7:AI辅助故障排除

• 生成式AI对Kubernetes的好处
• K8sGPT CLI架构
• 安装K8sGPT CLI
• K8sGPT命令和使用
• 使用K8sGPT分析器(podAnalyzer、pvcAnalyzer、rsAnalyzer等)
• 使用K8sGPT分析集群
• 使用K8sGPT分析实时问题
• K8sGPT的集群内操作员

要求

  • Linux命令行的基础知识
  • 应用开发或系统管理经验
  • 熟悉容器(Docker概念)
  • 对Kubernetes概念的基本理解(pod、部署、服务)
  • 对软件架构的一般理解(如API、服务)

目标受众:

  • DevOps工程师
  • 站点可靠性工程师(SREs)
  • 后端/软件开发人员,涉及微服务
  • 云工程师和平台工程师
  • 正在过渡到Kubernetes环境的系统管理员

     

 49 小时

客户评论 (1)

即将举行的公开课程

课程分类