目前了解到 k8s 部署 Java 微服务有以下几种方式
- 由 k8s 提供容器编排,将整套 Spring Cloud 组件都部署到 k8s 中
- 使用 k8s 基础组件,搭建微服务,只用部署 Java 镜像
由于了解的不太全面,想知道各位 v 友的公司是怎么使用 k8s 的

目前了解到 k8s 部署 Java 微服务有以下几种方式
由于了解的不太全面,想知道各位 v 友的公司是怎么使用 k8s 的
1 camork Oct 27, 2022 选 2. 单独 k8s 还缺少流量治理相关组件, 走 service mesh 架构, 用 istio 补上 |
2 cutiechi Oct 27, 2022 2 |
3 lmshl Oct 27, 2022 一直用的是 2 ,我司微服务有 Scala / Python / Rust / Kotlin / NodeJS / Java ,没接触过 Spring Cloud |
4 cutiechi Oct 27, 2022 都 2022 年了 |
5 idblife Oct 27, 2022 2 |
6 topgunno OP |
7 hjue Oct 27, 2022 选 2 服务注册和发现:直接调用 service name 网关:Ingress 链路跟踪:skywalking 监控:prometheus 日志:elk |
8 zou8944 Oct 27, 2022 选 2 ,Spring Cloud 是以 SDK 提供微服务治理的形式,属于上一代产品。 如今云原生提得这么火,大方向就是将所有基础功能下沉到基础设施。如 7 楼所说,Spring Cloud 的每一个组件在 K8s 中都有对应的概念 - 服务注册和发现:对应 Service Name ,由 Core DNS 实现 - 负载均衡:对应 Kubeproxy ,走 iptables 和 LVS 那一套,这个不用自己配置,自带 - 网关:对应 Ingress 。只不过 K8s 自带的 Nginx Ingress Controller 功能比较弱,只能充当流量网关,如果需要业务网关,依然可以使用 Spring Cloud Gateway ,也可以使用 Kong 、ApiSix 之类的,不过个人感觉没必要 - 配置中心:config map 和 secret 监控三要素:tracing 、metrics 、logging ,分别对应 - skywalking - prometheus - ELK 当然,K8s 是一个非常复杂的东西,完全不建议自建,通常我们都会购买云服务,如阿里云的 ACK 。搭配其它云服务如 SLS 等,基本是不需要自己搭建任何东西的。你唯一需要做的就是熟练地使用它们。 个人认为云原生的最终形式就是 Serverless ,只不过目前由于技术原因 Serverless 有冷启动、资源分配不稳定等问题并不能应用到所有场景。 |
9 Blank10030 Oct 27, 2022 2 |
10 Nnq Oct 27, 2022 2 直接打包容器,然后服务配置跟上就好了 |