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 # 容器 …
Kubernetes API 详解 Kubernetes (K8s) 的 API 是其核心设计,所有操作(如创建、更新、删除资源)都通过 API 完成。以下是 Kubernetes API 的详细介绍与总结: 1. Kubernetes API 概述 作用:Kubernetes API 是集群的“控制平面”,用于管理集群状态、配置资源、监控操作等。 设计原则: 声明式 API:用户声明期望状态(如 YAML/JSON 文件),系统负责协调实际状态。 RESTful 风格:通过 HTTP 方法(GET/POST/PUT/DELETE)操作资源。 可扩展性:支持自定义资源(CRD) …
Kubernetes 集群部署指南 (Rocky Linux 9.5) 以下是在三台 Rocky Linux 9.5 主机上部署 Kubernetes 集群的详细步骤。使用 kubeadm 工具来部署一个 1 master + 2 worker 的集群。 主机IP 主机名 操作系统 角色 CPU 内存 硬盘 Kubernetes组件 备注 192.168.226.150 k8s-master Rocky Linux 9.5 Master节点 2核 4GB 30GB kube-apiserver, kube-scheduler, kube-controller-manager, etcd 控制 …
Kubernetes 配置、存储、角色与访问控制 一、配置管理(Config) 1. ConfigMap 作用:存储非敏感的配置数据(如环境变量、命令行参数、配置文件)。 使用场景:应用配置(如数据库URL、日志级别)、动态参数注入。