Kubernetes Operator for Tenants:用 CRD 驱动 ABP 租户全生命周期 🚀
📚 目录
- Kubernetes Operator for Tenants:用 CRD 驱动 ABP 租户全生命周期 🚀
0. TL;DR ✅
- 用 CRD 扩展 K8s API,定义
Tenant
(及可选子 CRD);Operator 负责数据库/对象存储/限流/路由证书/密钥的声明式编排,运行态通过 /status 子资源 + Conditions 回传。 - 删除走 Finalizer:先做备份与外部资源回收,再真正删除;外部云资源不可用 OwnerReference(仅适用于 K8s 对象),建议用子 CRD或把句柄写进
status.resources
。 - GitOps(Argo CD):用 Sync Waves 控制清单顺序(Secret/基础设施 → 应用 → 路由/证书),回滚用
argocd app rollback
或 Git revert。 - 密钥:推荐 External Secrets Operator,多 NS 复用用 ClusterSecretStore;EKS/IRSA 下可直接走默认凭据链。
- 网关与 TLS:TLS 放在 Gateway 的 listener(
tls.certificateRefs
),HTTPRoute 只声明主机名+路由;本文采用“显式 Certificate”方案。 - ABP 集成:域名/头/声明解析
ICurrentTenant
;配置经 Secret/Config 注入;按租户分区限流用PartitionedRateLimiter
,生产建议在网关层再做全局限流。