Kubernetes Deployment 更新暂停与恢复机制 基本概念 Deployment 的暂停(pause)与恢复(resume)功能允许临时中断滚动更新过程。 核心使用场景 分批更新:先更新部分Pod验证后再继续 多配置变更:避免多次触发更新 紧急中断:发现问题时暂停更新过程 金丝雀发布:控制新版本发布节奏 暂停更新操作 命令格式 kubectl rollout pause deployment/<deployment-name> 实际效果 停止自动更新过程 新创建的ReplicaSet将不会自动扩展 旧ReplicaSet将不会自动缩减 允许手动进行中间状态调整 恢复 …
Kubernetes Deployment 扩容与缩容详解 基本概念 Deployment 的扩容(Scaling Up)和缩容(Scaling Down)是指调整 Deployment 管理的 Pod 副本数量,以满足应用负载需求变化。
Kubernetes Deployment 回滚机制 回滚核心概念 回滚是将 Deployment 恢复到之前的某个修订版本(Revision)的操作,是 Kubernetes 提供的安全机制,用于应对更新后出现的各种问题。 回滚原理 修订版本记录:Deployment 控制器通过 ReplicaSet 记录每个更新版本 版本切换:回滚实际上是重新激活旧版本的 ReplicaSet 并缩容新版本 无缝切换:回滚过程同样遵循滚动更新策略,保证服务连续性 回滚前关键准备 确保修订历史可用:
Kubernetes Deployment 滚动更新 (Rolling Update) 总结 基本概念 滚动更新是 Deployment 默认的更新策略,它允许逐步用新版本的 Pod 替换旧版本的 Pod,确保应用在更新期间不中断服务。 核心机制 逐步替换:新 Pod 被创建并达到就绪状态后,旧 Pod 才会被终止 零停机:确保在更新过程中始终有可用的 Pod 处理请求 版本控制:通过 ReplicaSet 管理不同版本的 Pod 关键参数 在 Deployment 的 spec.strategy 中配置:
Kubernetes Labels 和 Selectors 总结 Labels (标签) 基本概念 作用:Labels 是附加到 Kubernetes 对象(如 Pods、Services、Deployments 等)上的键值对(key/value),用于标识对象的特征 目的:帮助用户组织和选择对象的子集,不提供唯一性保证(多个对象可以有相同 label) 特点 每个对象可以有多个 labels Key 最长 63 字符,Value 最长 63 字符 Key 必须以字母数字开头和结尾,可以包含 -, _, . 前缀可选,如 example.com/my-label(DNS 子域名格式) 常见 …
Kubernetes preStop 钩子 在 Kubernetes 中,preStop 钩子 是 Pod 生命周期中的一个关键机制,用于在容器被终止前执行特定操作(如优雅关闭应用、清理资源等)。 1. preStop 的作用 优雅终止(Graceful Shutdown): 在容器收到 SIGTERM 信号前,先执行 preStop 钩子中的命令或 HTTP 请求,确保应用正确处理未完成的请求或保存状态。 顺序控制: 与 terminationGracePeriodSeconds 配合,避免强制终止(SIGKILL)导致数据丢失。 2. 典型应用场景 场景 1: …
准备服务器 系统版本:Rocky Linux9.5mini 2C4G-40G硬盘 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config && sudo setenforce 0 systemctl disable --now firewalld dnf install -y wget tar zip unzip chrony nodejs npm # 时间同步 bash -c 'echo "server ntp.ntsc.ac.cn iburst" …
Pod 生命周期图解 [创建] → [Pending] → [Running] → [Terminating] → [Terminated/Succeeded/Failed] │ │ ├─ 初始化容器(Init Containers) ─┤ │ │ ├─ 主容器(Main Containers) ────┤ │ │ ├─ 就绪检查(Readiness Probe) ─┤ │ │ └─ 存活检查(Liveness Probe) ─┘ 生命周期阶段详解 创建(Created) 用户通过 kubectl apply 提交 Pod 配置到 API Server。 Kubernetes 调度 …
Kubernetes 探针 1. 探针概述 探针(Probe)是Kubernetes用于检测容器健康状况的机制,主要分为三种类型: 存活探针(Liveness Probe):检测容器是否正在运行 就绪探针(Readiness Probe):检测容器是否准备好接收流量 启动探针(Startup Probe):检测应用是否已完成启动(1.16+版本) 2. 探针类型 2.1 存活探针(Liveness Probe) 作用:确定容器是否需要重启 失败后果:杀死容器并根据重启策略决定是否重启 适用场景:检测死锁、长时间阻塞等不可恢复状态 2.2 就绪探针(Readiness Probe) 作用:确定 …
Kubernetes Pod 创建 Pod 基本结构 一个典型的 Pod 定义文件(通常是 YAML 格式)包含以下主要字段: apiVersion: v1 kind: Pod metadata: # 元数据部分 name: my-pod namespace: default labels: app: my-app tier: frontend annotations: description: "This is a test pod" spec: # 规格部分 containers: - name: my-container image: nginx:latest # 容器 …