微服务集群从 Vault Agent 切换到 ESO,核心在于平滑过渡与权限收敛。通过 Raft 热升级结合内置 PKI 开启 TLS、以 CEL 策略防范配置越权,配合双轨比对与分批灰度,安全完成数十个服务的 Sidecar 替换。
Posts for: #vault
Vault Agent Injector 的 admission webhook 机制
Vault Agent Injector 是一个 mutating admission webhook,只在 pod 创建时改写定义。改了默认资源要重启 pod,injector 不可用时 pod 照常创建却没有密钥,都出自这一点。
K8s 应用从 Vault 取密钥:Agent sidecar、init-only、VSO、ESO 和 CSI 怎么选
Vault Agent 的 init 和 sidecar 默认各申请 250m CPU,在一个非生产集群里占了一半以上的 CPU requests,实际几乎不用。按 DevSecOps 的要求比较五种接法后,先只保留 init,再换成和生产共用接口的 ESO。
homelab 的 Terraform state 从本地迁到 Cloudflare R2
8 个 Terraform root 的 state 原先只存在一台笔记本上,换台机器就没法接着跑。迁到 R2 的私有桶后用 use_lockfile 加锁,凭据由包装脚本从 Vault 取,改 state 之前先在本地拍一份快照。
Homelab 消息通知:Alertmanager 通过 Gotify 推送告警
在 Homelab K3s 集群中,通过部署 alertmanager_gotify_bridge 将 Prometheus Alertmanager 的告警推送到 Gotify,实现自托管消息通知。记录从 Vault 存储 Token、ESO 同步 Secret、到 Alertmanager 路由配置的完整步骤。
重启即 sealed:homelab Vault 自愈链路的三个坑
Proxmox VM 一重启 Vault 就 sealed,ExternalSecret 跟着失败:postStart 解锁 hook 被 JSON grep 误判、ESO 没有及时重验,恢复脚本自己还有假阴性,最后改成按 exit code 三态判定。
从 Cilium Gateway 到 CoreDNS:一次跨层级的 K8s 连锁故障排查
一次看起来像 Cilium Gateway Degraded 和 ArgoCD Sync 异常的故障,最后追到了 CoreDNS stub resolver、ZITADEL backend 缺失和 Vault 密钥问题。记录完整排查链路、修复动作和后续固化方案。
Oracle Cloud K3s 迁移到 Cilium:一次把网络、密钥和状态数据都翻出来的升级
oracle-k3s 从 Flannel 换到 Cilium,翻出 QUIC 超时、Secret 供应链断裂、健康检查和连接串失效、PVC 数据回灌四类问题,哪些复杂度值得保留也因此重新排了序。