从一次 K8s Controller 竞态崩溃聊起:彻底搞懂 Go sync 包核心原语

一个 K8s operator 在高负载下频繁 fatal crash:concurrent map read and map write。问题不在逻辑,在于共享状态的保护方式。从这个事故出发,拆解 Mutex 的正常/饥饿模式、RWMutex 的读写协调、WaitGroup 的计数器陷阱、Once 的 double-checking,以及 sync.Map 的双 map 架构。

April 18, 2026 · 9 min · Zhao Xue

从一次 K8s Operator 健康检查超时聊起:Go GC 调优实战

K8s Operator 每隔几分钟就被 kubelet 杀掉重启,健康检查超时。排查发现是 GC 停顿导致的。搞清楚 GC 为什么会停顿、什么时候触发、GOGC 和 GOMEMLIMIT 怎么调,这些是面试和实战中真正需要知道的。

April 18, 2026 · 3 min · Zhao Xue

从一次 Pod Pending 但节点资源充足聊起:彻底搞懂 K8s 调度器原理

kubectl describe pod 显示 0/5 nodes available: Insufficient cpu,但 kubectl top nodes 显示 CPU 使用率才 30%。排查过程揭开调度器的全部秘密:Scheduler Framework 的完整扩展点链、Filter 和 Score 的内置插件、抢占机制、以及 TopologySpread 的死锁陷阱。

April 24, 2026 · 9 min · Zhao Xue

从一次滚动更新 502 聊起:彻底搞懂 Pod 生命周期与容器运行时

滚动更新时出现 502/504 错误,旧 Pod 收到 SIGTERM 后立即关闭端口,但 iptables 规则还没更新完。排查过程串联 Pod 的完整生命周期:从 Pending 到 Running 的每一步、三种 Probe 的设计哲学、优雅终止的并行竞态、以及 CRI 容器运行时的调用链。

April 24, 2026 · 10 min · Zhao Xue

从一次 Service Endpoints 为空聊起:彻底搞懂 K8s 网络模型

curl Service 超时,kubectl get endpoints 返回空列表。排查过程串联 K8s 整个网络模型:Pod 网络的三个基本原则、Service 的四种类型和 kube-proxy 实现、Ingress 的 L7 路由、NetworkPolicy 的白名单语义陷阱,以及 DNS ndots:5 的性能坑。

April 24, 2026 · 8 min · Zhao Xue

从一次 pods/exec forbidden 聊起:彻底搞懂 K8s RBAC 权限模型

kubectl get pods 正常,但 kubectl exec 报 forbidden: cannot create resource pods/exec。排查过程揭开 RBAC 的全部细节:Role 和 ClusterRole 的作用域、Binding 的组合关系、ServiceAccount 的 Token 演进、子资源权限的隐藏坑,以及多租户隔离的最佳实践。

April 24, 2026 · 9 min · Zhao Xue

从管理 200+ 集群的实战经验聊起:K8s 多集群架构设计与性能优化

5 年 ACM 多集群管理经验的系统总结:Hub-Spoke vs 联邦架构的本质区别、ManifestWork 资源分发与 Placement 调度的设计、CSR 注册与反向隧道网络互通、以及管理 200+ 集群时遇到的真实性能挑战和优化方案。

April 24, 2026 · 12 min · Zhao Xue

Repo-as-Agent:用 Git 仓库构建 AI Agent

如果一个 AI Agent 的身份、技能和知识全都是 Git 仓库里的文件呢?本文介绍一种我们实践过的模式——不引入任何新框架,只用目录、文件和 Git 来构建生产级 AI Agent。

April 15, 2026 · 3 min · Zhao Xue

依赖管理:共享 Agent Skill 的隐性壁垒

共享一个 Skill 文件只需几秒,但让它在别人的机器上跑起来才是真正的挑战。根因指向依赖管理,我们用容器和实时 Agent 来解决。

March 28, 2026 · 1 min · Zhao Xue