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

举报
Jerry Wang 发表于 2021/12/29 13:53:10 2021/12/29
【摘要】 创建一个名为ads-app-service的服务:上述Service的yaml文件里每个字段,在Kubernetes的API文档里有详细说明。https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#servicespec-v1-core如何找到这个url呢?Reference->API Reference->v...

创建一个名为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的原创文章,请关注公众号"汪子熙"。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。