Skip to content

Latest commit

 

History

History
 
 

README.md

4. Deployments with kubectl

4.0 目录

4.1 项目概述

本系列教程提供了 Kubernetes Deployment 的完整学习路径,从基础概念到高级操作,涵盖了生产环境中 Deployment 管理的所有核心技能。通过循序渐进的实践教程,您将掌握 Kubernetes 应用程序部署和管理的最佳实践。

4.2 学习目标

通过完成本系列教程,您将能够:

掌握 Deployment 基础概念

  • 理解 Deployment、ReplicaSet、Pod 的层次关系
  • 掌握声明式管理和自愈机制
  • 了解滚动更新和零停机部署

熟练使用 kubectl 管理 Deployment

  • 创建、扩展、更新 Deployment
  • 执行回滚和版本管理
  • 实现暂停和恢复操作

4.3 生产级最佳实践

  • 监控和故障排除
  • 资源管理和性能优化
  • 安全配置和运维策略

4.4 教程目录

学习重点: Deployment 基础操作和服务暴露

  • 🚀 创建 Deployment:使用 kubectl 创建和验证 Deployment
  • 📈 扩缩容操作:动态调整副本数量和监控扩展过程
  • 🌐 服务暴露:将 Deployment 暴露为 NodePort Service
  • 🔍 状态监控:查看部署状态、Pod 分布和资源使用
  • 🧪 应用测试:端口转发和服务可用性验证

适用场景: 初学者入门、基础部署需求、开发环境搭建

学习重点: 应用程序版本升级和滚动更新

  • 🔄 滚动更新机制:零停机时间的应用程序更新
  • 🛠️ 两种更新方法
    • kubectl set image:快速镜像版本更新
    • kubectl edit:交互式配置修改
  • 📊 更新监控:实时跟踪更新进度和状态
  • 📝 版本历史:查看和管理部署历史记录
  • ⚙️ 更新策略:配置 maxUnavailable 和 maxSurge 参数

适用场景: 应用版本升级、配置更新、生产环境部署

学习重点: 版本回退和历史管理

  • 两种回滚方式
    • 回滚到上一个版本:快速恢复
    • 回滚到指定版本:精确版本控制
  • 📋 版本历史管理:查看详细的推出历史和版本信息
  • 回滚验证:确认回滚结果和应用程序状态
  • 🔄 滚动重启:在不更改配置的情况下重启应用
  • 📈 最佳实践:生产环境回滚策略和监控告警

适用场景: 问题修复、版本回退、应急响应、配置重载

学习重点: 批量更改和部署过程控制

  • ⏸️ 暂停机制:使用 kubectl rollout pause 暂停部署
  • 🔧 批量更改:在暂停状态下进行多项配置修改
    • 镜像版本更新
    • 资源限制设置
    • 环境变量配置
    • 标签和注解管理
  • ▶️ 恢复部署:使用 kubectl rollout resume 触发统一更新
  • 📊 效率优化:减少滚动更新次数,提高部署效率
  • 🎯 应用场景:维护窗口操作、复杂配置更改

适用场景: 维护窗口、批量配置更新、复杂部署策略

4.5 技术栈

4.5.1 核心技术

  • Kubernetes:容器编排平台
  • kubectl:Kubernetes 命令行工具
  • Docker:容器化技术

4.5.2 演示应用

  • kubenginx:定制化的 Nginx 应用
  • 多版本支持:1.0.0 → 2.0.0 → 3.0.0 → 4.0.0
  • Docker Hubgrissomsh/kubenginx

4.5.3 辅助工具

  • 演示脚本:每个教程都包含完整的自动化演示脚本
  • 彩色日志:增强的用户体验和可读性
  • 交互式操作:用户可控制的演示节奏

4.6 快速开始

4.6.1 前置条件

# 1. 验证 kubectl 安装
kubectl version --client

# 2. 检查集群连接
kubectl cluster-info

# 3. 验证节点状态
kubectl get nodes

# 4. 检查当前命名空间
kubectl config current-context

4.6.2 推荐学习路径

  1. 基础入门:从 04-01 开始,掌握 Deployment 基本概念
  2. 进阶操作:学习 04-02 和 04-03,掌握更新和回滚
  3. 高级技巧:完成 04-04,了解暂停和恢复机制
  4. 实践应用:结合实际项目需求进行练习

4.6.3 每个教程的使用方式

# 进入具体教程目录
cd 04-01-CreateDeployment-Scaling-and-Expose-as-Service/

# 阅读教程文档
cat README.md

# 运行演示脚本
./deployment-demo.sh

# 查看脚本帮助
./deployment-demo.sh --help

4.7 学习建议

4.7.1 理论与实践结合

  • 📚 先读文档:理解概念和原理
  • 🛠️ 再跑脚本:观察实际操作过程
  • 🔬 后续实验:尝试修改参数和配置

4.7.2 循序渐进

  • 🎯 按顺序学习:每个教程都基于前面的知识
  • 🔄 反复练习:熟练掌握每个操作
  • 📝 记录笔记:总结关键命令和最佳实践

4.7.3 生产环境准备

  • 🔒 安全考虑:了解权限管理和安全配置
  • 📊 监控告警:学习生产环境监控策略
  • 🚨 应急响应:掌握故障排除和快速恢复

4.8 相关资源

4.8.1 官方文档

4.8.2 进阶学习

  • 05-Services-with-kubectl:服务发现和负载均衡
  • 声明式 Deployment:YAML 配置管理
  • Helm 包管理:应用程序包管理工具
  • CI/CD 集成:自动化部署流水线