Kubernetes 容器退出状态码 Exit Code 快速参考
Pod 状态说明 状态 含义 排查 CrashLoopBackOff 容器反复崩溃 查看日志、资源限制 ImagePullBackOff 镜像拉取失败 检查镜像名、网络 CreateContainerError 创建容器失败 检查配置、权限 OOMKilled 内存不足 增加 memory limits Exit Code 规则范围: 0-255 分类: 0:正常退出 1-128:程序异常 129-255:外部信号 转换公式: 12负数:256 - (|code| % 256)正数:code % 256 常见退出码 Code 信号 含义 原因 0 - 正常退出 Job完成 1 - 程序错误 代码bug、配置错误 2 - Shell错误 命令使用错误 126 - 不可执行 权限问题 127 - 命令未找到 PATH错误、拼写错误 137 SIGKILL 强制杀死 OOM、kill -9 139 SIGSEGV 段错误 内存访问错误 143 SIGTERM 正常终止 docker stop 255 - 退出码超...
Kubernetes Deployment 完全指南:从入门到精通
概述Deployment 是 Kubernetes 中最常用的工作负载资源,用于声明式地管理 Pod 和 ReplicaSet,提供滚动更新、回滚、扩缩容等功能。 核心功能: 🔄 声明式更新和回滚 📊 副本数量管理 🚀 滚动更新策略 💚 健康检查和自愈 🎯 资源配额管理 适用场景: 无状态应用部署 微服务容器化 应用版本管理 高可用服务 Deployment 完整配置基本结构12345678910111213141516171819202122apiVersion: apps/v1 # API 版本kind: Deployment # 资源类型metadata: # Deployment 自身的元数据 name: my-app # Deployment 名称 namespace: default # 命名空间 labels: # Deplo...
Kubernetes 健康检测完全指南
重启策略 策略 说明 适用对象 Always 总是重启 Deployment/RS(持续运行) OnFailure 失败时重启 Job/CronJob Never 从不重启 Job/CronJob 重启延迟: 10s → 20s → 40s → 80s → 160s → 300s(最大) 三种探针Startup Probe(启动探针)作用: 判断容器是否已启动 12345678startupProbe: httpGet: path: /doc.html port: 40017 initialDelaySeconds: 10 failureThreshold: 10 periodSeconds: 5# 最多50秒启动时间(10次×5秒) Liveness Probe(存活探针)作用: 检查容器是否需要重启(失败则杀死重启) 123456livenessProbe: httpGet: path: /doc.html port: 40017 failureThreshold: 1 periodS...
Kubernetes 实战技巧与命令速查
学习资源 资源 链接 说明 K8S训练营 qikqiak.com 系统学习 kubectl速查 jimmysong.io 命令大全 K8s中文文档 docs.kubernetes.org.cn 官方文档 API参考 kubernetes.io API文档 Deployment 配置要点123456789101112# 必须配置项spec: selector: matchLabels: # 1. 必须定义 app: myapp template: metadata: labels: # 2. 必须与selector匹配 app: myapp spec: containers: # 3. containers中不能定义labels - name: app 常用命令速查资源清理1234567# 查找namespace下所有资源kubectl api-resources --verbs=list --namespaced -o name | \ xa...
K9s 完全指南:Kubernetes 集群的终极命令行管理工具
概述K9s 是一个强大的 Kubernetes CLI 工具,提供直观的终端 UI 界面,让集群管理变得轻松高效。相比传统的 kubectl 命令,K9s 提供实时监控、快捷操作和资源管理等功能。 核心特性: 🖥️ 终端 UI 界面,无需 Web Dashboard ⚡ 实时资源监控和日志查看 🔍 强大的搜索和过滤功能 📊 集群健康状态评分 🔐 支持多集群管理 适用场景: 日常集群运维管理 快速故障排查 资源状态监控 多集群切换 官方仓库: https://github.com/derailed/k9s 安装Linux12345678# 下载最新版本wget https://github.com/derailed/k9s/releases/download/v0.32.0/k9s_Linux_amd64.tar.gz# 解压到系统路径tar -zxf k9s_Linux_amd64.tar.gz -C /usr/local/bin# 验证安装k9s version macOS12345# 使用 Homebrew 安装brew install k9s# 或使用 M...
Kubernetes Pod 端口代理:借道访问集群内部服务
概述在 Kubernetes 环境中,经常需要从本地访问集群内部的服务(如 Redis、MySQL 等),但出于安全考虑,这些服务通常不对外暴露。本文介绍如何利用已有的 Pod 作为跳板,安全地从本地连接到内部服务。 核心方案: 🔐 Pod 作为代理跳板 🔄 socat 端口转发 🛡️ kubectl port-forward 隧道 🚀 无需暴露服务到公网 适用场景: 访问内部数据库(Redis、MySQL、MongoDB) 调试集群内部服务 开发环境数据查询 临时访问未暴露的服务 方案架构网络拓扑12345本地电脑 (127.0.0.1:6379) ↓ kubectl port-forwardPod (my-app:6379) ↓ socat 代理内部服务 (Redis:10.244.0.5:6379) 流量路径1234567本地 Redis 客户端 → localhost:6379 → kubectl port-forward 隧道 → Pod:6379 → socat 监听 → 转发到 10.244.0.5:637...
Kubernetes 内存限制深度解析:cgroup 与 OOM Killer 实战
概述Kubernetes 通过 Linux cgroup(Control Groups)机制实现容器的资源隔离和限制。本文通过实验深入探索容器内存限制的工作原理,以及在何种情况下容器会被 OOM Killer 杀死。 核心内容: 🔍 cgroup 内存限制机制 ⚡ OOM Killer 工作原理 🧪 压力测试与故障模拟 📊 oom_score 计算方法 技术背景: cgroup 是容器资源控制的基础 具有层级结构,可继承父级属性 Kubernetes 基于 cgroup 实现 Pod 的资源限制 原文来源: https://cloud.tencent.com/developer/article/1495508 扩展阅读: 深入理解 Kubernetes 资源限制:内存 cgroup 基础知识什么是 cgroup定义: cgroup(Control Groups)是 Linux 内核提供的一种机制,用于限制、记录和隔离进程组使用的物理资源(CPU、内存、I/O 等)。 核心特性: 📊 资源限制:限制进程组使用的资源上限 📈 优先级控制:控制进程组的 C...
Kubernetes IP 地址完全指南:类型、范围与固定 IP 配置
概述Kubernetes 集群中存在多种类型的 IP 地址,包括 Cluster IP、Pod IP、Node IP 等。理解这些 IP 的作用范围和配置方法对于网络规划至关重要。 核心内容: 🌐 Kubernetes 各类 IP 地址详解 📋 IP 地址范围配置 🔒 固定 IP 地址实现方案 ⚙️ K8s/K3s 配置差异 Kubernetes IP 地址类型Cluster IP(服务 IP)定义: Service 的虚拟 IP 地址,用于集群内部服务访问 特点: 特性 说明 作用范围 仅集群内部可访问 生命周期 与 Service 绑定(除非删除 Service) DNS 解析 通过 Service Name 自动解析 负载均衡 自动分发流量到后端 Pod 工作机制: 1Client → Service Name → kube-dns 解析 → Cluster IP → kube-proxy → Pod 示例: 123456789101112apiVersion: v1kind: Servicemetadata: name:...
Kubernetes 资源监控脚本:定时检测并企业微信告警
概述本文介绍一个轻量级的 Kubernetes 资源监控脚本,定期检测节点和 Pod 的 CPU、内存使用情况,超过阈值时通过企业微信 Webhook 发送告警通知。 核心功能: 🔍 节点资源监控(CPU/内存) 📦 Pod 资源监控(CPU/内存) 📢 企业微信告警推送 ⚙️ 阈值可配置 🔄 定时任务执行 适用场景: 轻量级资源监控 快速告警通知 开发测试环境 补充监控方案 脚本完整代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301...
Kubernetes 接口慢调用问题排查实战:从现象到根因的完整分析
概述接口慢调用是生产环境中常见且影响严重的问题,本文记录两次完整的排查过程,展示从现象发现到根因定位的系统化方法论。 核心收获: 🔍 系统化的排查思路 📊 多层次问题定位方法 🛠️ 实用监控工具组合 💡 预防性措施建议 适用场景: 接口响应时间过长 用户体验下降 系统资源异常 雪崩风险预警 问题背景现象描述用户反馈: 系统商户端出现响应慢、加载慢的问题 影响范围: 移动端应用加载缓慢 部分接口超时 用户体验显著下降 慢调用的危害业务影响: 维度 影响 后果 用户体验 加载慢、卡顿 应用卸载率↑,品牌口碑↓ 项目交付 无法达到SLA 项目延期,客户投诉 系统稳定性 雪崩效应 服务级联故障,系统不可用 雪崩效应链路: 1234567891011接口慢调用 ↓超时增多 ↓大量重试 ↓资源耗尽 ↓服务降级/不可用 ↓级联故障(雪崩) 排查思路分层排查法自顶向下的排查策略: 123451. 用户层:确认影响范围2. 网关层:检查状态码和日志3. 应用层:分析资源使用情况4. 服务层:追踪调用链路5. 数据层:排...
