知识卡片

是否引入SpringCloudKubernetes看项目新旧

专业/工作 · 528.b

内容

Spring Cloud Kubernetes 能把服务发现、负载均衡、配置管理这些 Spring Cloud 的能力对接到 Kubernetes 原生资源上,但对一个从零开始的新项目来说并不推荐引入它——Kubernetes 本身已经原生提供了服务发现(Service/DNS)、负载均衡(kube-proxy)和配置管理(ConfigMap/Secret)能力,再叠一层 Spring Cloud Kubernetes 只是徒增一层对 Kubernetes API 的耦合和权限暴露面,没有换来新能力。它真正有价值的场景是brownfield迁移:老项目原本跑在 Eureka/Ribbon 这类 Spring Cloud Netflix 组件上,迁去 Kubernetes 时用它做过渡桥接;或者用来增强 Spring Cloud Gateway,让网关能感知 Kubernetes 原生的服务发现信息。发散:这是”平台原生能力和框架封装能力重叠时该选谁”的一个具体判例——新项目优先用平台原生能力,框架封装留给确实需要兼容旧架构、或者原生能力覆盖不到的缝隙场景。

参考来源

《Cloud Native Spring in Action》第14章《Configuration and secrets management》