Kubernetes

SpringBoot优雅停机实战

357 阅读

发版时偶发的 502 往往不是代码抛出的,而是停机链条上某个环节没有接上。本文用 Spring Boot 2.7 与 Tomcat 9 做对照实验,以 SIGTERM 为零点记录进行中的请求、新连接、keep-alive 连接和 SSE 的实际表现,说明优雅停机只保护已进入应用的请求;再依次排查启动脚本缺少 exec 导致 JVM 收不到信号、timeout-per-shutdown-phase 并非硬上限、Kubernetes preStop 与宽限期的预算,以及 Nginx 对 GET 与 POST 重试行为的差异,最后给出长连接收尾、线程池等待和发版期间的验证方法。

用PSI看懂Kubernetes资源压力

267 阅读

线上接口出现延迟尖刺时,我们通常先看 CPU、内存和磁盘使用率。但这些指标只能说明资源“用了多少”,无法直接回答业务线程“因为资源不足等待了多久”。Linux PSI 从任务停顿时间出发,量化 CPU、内存和 I/O 竞争对工作负载造成的真实影响。本文将结合 Linux、cgroup v2、Kubernetes、Prometheus 和 Java 服务排障,讲清 PSI 指标的读取方式、关联分析思路、告警策略以及常见资源问题的优化方向。

网络、资源、安全、存储一次说清

296 阅读

Kubernetes 1.37 的重点并非新增大量业务功能,而是推动 IPVS、cgroup v1 等旧基础设施路径退场,并加强 SELinux 卷挂载、Metrics API、Rootless kubelet 和存储健康监测。本文从 Java 服务视角分析这些变化对 Service 网络、JVM 资源识别、Static Pod、共享 PVC、HPA 和节点安全的影响,同时提供可直接执行的集群、节点与 Java 工作负载审计命令,以及分阶段升级和回滚思路。

Istio服务网格:Java微服务无侵入式治理实战

687 阅读

文章介绍了在 Java 微服务中通过 Istio 服务网格实现无侵入治理的完整方案。首先分析传统硬编码治理导致的代码冗余、侵入性强和可观测性差等问题,随后阐述 Istio 的 Sidecar 架构及流量治理、自动 mTLS 安全、链路追踪与指标监控四大核心能力。接着提供在 K8s 环境下安装 Istio、自动注入 Sidecar、部署 order‑service 与 inventory‑service 示例的步骤,并演示灰度发布、熔断、OpenTelemetry 集成以及 Kiali、Grafana 可视化。文末列出 Sidecar 注入失败、追踪数据缺失、路由规则不生效等常见坑及排查方法,并给出从基础路由到多集群安全的最佳实践建议。