目前了解到 k8s 部署 Java 微服务有以下几种方式
由于了解的不太全面,想知道各位 v 友的公司是怎么使用 k8s 的
1
camork 2022-10-27 10:44:13 +08:00
选 2. 单独 k8s 还缺少流量治理相关组件, 走 service mesh 架构, 用 istio 补上
|
2
superchijinpeng 2022-10-27 10:54:40 +08:00
2
|
3
lmshl 2022-10-27 10:54:47 +08:00
一直用的是 2 ,我司微服务有 Scala / Python / Rust / Kotlin / NodeJS / Java ,没接触过 Spring Cloud
|
4
superchijinpeng 2022-10-27 10:55:00 +08:00
都 2022 年了
|
5
idblife 2022-10-27 11:05:37 +08:00
2
|
6
topgunno OP |
7
hjue 2022-10-27 11:32:53 +08:00 1
选 2
服务注册和发现:直接调用 service name 网关:Ingress 链路跟踪:skywalking 监控:prometheus 日志:elk |
8
zou8944 2022-10-27 15:49:28 +08:00 3
选 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 2022-10-27 17:01:34 +08:00
2
|
10
Nnq 2022-10-27 22:39:28 +08:00
2 直接打包容器,然后服务配置跟上就好了
|