Kubernetes和Spring Cloud哪个部署微服务更好

发布网友 发布时间:2022-04-19 13:43

我来回答

2个回答

懂视网 时间:2022-05-02 20:04

创建一个名为ads-app-service的服务:

技术分享图片

上述Service的yaml文件里每个字段,在Kubernetes的API文档里有详细说明。

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#servicespec-v1-core

如何找到这个url呢?

Reference->API Reference->v1.12:

技术分享图片

比如Service yaml文件里Spec区域需要出现的字段,每个字段在帮助文档里有详细说明:

技术分享图片

Spec部分的子区域ports可以定义多个port,通过符号"-"代表一个类似数组的结构:

技术分享图片

ports数组里每个元素包含的字段:

  • name

  • nodePort

  • port

  • protocol

  • targetPort

  • 技术分享图片

    用kubectl create -f创建service,因为类型设置为ClusterIP,但没有指定具体的IP地址,因此创建时自动生成了一个。

    技术分享图片

    技术分享图片

    再创建一个deployment:

    技术分享图片

    这个deployment使用的image地址如下:

    技术分享图片

    我们还得创建一个Kubernetes Ingress,yaml文件如下:

    技术分享图片

    需要Ingress的原因是,通常情况下,service和pod的IP只能在Kubernetes集群内部访问。集群外部的请求需要通过负载均衡转发到service在Node上暴露的NodePort上,然后再由kube-proxy将其转发给相关的

    Pod。

    Ingress作为Kubernetes里的标准对象之一,负责给service提供集群外部访问的URL、负载均衡、SSL终止、HTTP路由等。

    下面配置的rule的含义是:每次请求/ads时,请求转发到服务ads-app-service上去。

    技术分享图片

    使用host里包含的url拼接上/ads,访问这个应用:

    技术分享图片

    点击tile进入明细页面:

    技术分享图片

    这个应用的UI显示用的是SAP UI5框架,后台通过一个SpringBoot应用响应HTTP请求,数据存储在PostgreSQL里。

    技术分享图片

    技术分享图片

    进入deployment对应的pod,可以查看到java应用对应的jar文件和JDK环境。

    技术分享图片

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

    技术分享图片

    SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子

    标签:数组   标准   net   包含   col   公众号   原创   区域   ges   

    热心网友 时间:2022-05-02 17:12

    Spring Cloud拥有丰富的、综合的JAVA类库来处理所有执行障碍作为部分应用堆栈。因此,微服务自身有类库和执行代理来做客户端服务发现负载均衡、配置升级、指标追踪等等。模式例如单例模式集群服务和批量作业也在JVM中管理。
    Kubernetes可多语言,没有只是把JAVA平台当目标,处理了所有语言用一类方法的分布式计算挑战。它为了在平台层配置管理、服务发现、负载均衡、追踪、指标、单例模式、调度作业提供服务,并且在应用套件之外。应用程序为了客户端逻辑无需任何类库或代理,它可以使用任何语言来编写。
    在一些方面,两个平台依靠相似的第三方工具。例如ELK和EFK stacks, tracing libraries等等。一些类库,像是Hystrix和Spring Boot,在两个环境中都同样使用很好。在一些方面两个平台是互补的,可以组合创建一个更强大的解决方案( KubeFlix 和Spring Cloud Kubernetes这样的例子)。

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com