查看原文
其他

轻松实现在K8S上部署Spring Boot应用(下)

学研妹 Java学研大本营 2024-01-02

本文详细讲解如何在Kubernetes上部署Java Spring Boot应用程序。

长按关注《Java学研大本营》

(接本标题上篇) 

为什么需要多个Pod或Pod副本?

创建Pod副本的目的是为了分配流量。

34.端口转发

端口转发是一种网络技术,用于将主机上的一个端口的网络流量重定向到另一台主机或同一台主机上的另一个端口。在Kubernetes的上下文中,端口转发能够让您从本地计算机或另一台远程主机访问运行在Kubernetes 集群内部的服务。通过端口转发,您可以在本地计算机上或另一台远程主机上使用工具(如Postman)访问 Kubernetes集群中的服务,无需直接连接到Kubernetes集群。这方便了开发人员调试和测试在Kubernetes集群中运行的服务,能提高工作效率。

执行端口转发:

/usr/local/bin/kubectl port-forward --address 0.0.0.0 svc/springboot-crud-svc 8080:8080 &

现在,如果您在Postman上检查,您将无法访问,因为您还没有为服务器打开端口。

35.更新配置:

现在再回到[Postman](https://identity.getpostman.com/login?continue=https%3A%2F%2Fweb.postman.co%2Fworkspace%2FMy-Workspace~62e42885-179f-4b9c-820d-71821bd09887%2Frequest%2Fcreate%3FrequestId%3D1d89f10a-d7e6-4520-8521-aa700d7b363d),添加一个条目。

POST方法:

GET方法:

36.现在转到服务器上的数据库,检查SQL数据库中您所做的条目。

/usr/local/bin/kubectl exec -it mysql-f759455cd-n5gw6 /bin/bash

您可以看到您所做的所有条目。

接下来我们继续添加更多数据,以查看它是否在此处反映出来。

进入数据库,检查新添加的条目(在我的情况下是“misalpav”)是否在数据库中反映出来。

退出MySQL:

37.打开K8S的仪表板。

我们可以通过打开Kubernetes的仪表板来监控和管理Kubernetes集群。为此,我们需要在服务器上打开一个新的终端,并执行相应的命令来打开Kubernetes仪表板。

在EC2环境中运行Minikube时,我们需要为所有本地地址设置代理,以便能够访问Kubernetes集群。这可以通过在服务器上执行相应的命令来实现,并在代理服务器上启动相应的端口。

/usr/local/bin/kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'

代理服务器在端口8001上启动。

现在打开另一个终端,运行以下命令。

/usr/local/bin/minikube dashboard
http://127.0.0.1:40575/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
change the IP address with your EC2 server IP address and port 8081.
In my case:
http://18.218.83.178:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/    

您可以在浏览器中访问相同的内容。

您可以进入任何Pod并检查Pod日志。

GitHub:https://github.com/rajani103/SpringBootOnK8S_PS

推荐书单

《精通Spring Boot 2.0》

本书详细阐述了与Spring Boot 2.0相关的基本解决方案,主要包括定制auto-configuration、Spring CLI和Actuator、Spring Cloud和配置操作、Spring Cloud Netflix和Service Discovery、构建Spring Boot RESTful微服务、利用Netflix Zuul 创建API网关、利用Feign客户端简化HTTP API、构建事件驱动和异步响应式系统、利用Hystrix和Turbine构建弹性系统、测试Spring Boot应用程序、微服务的容器化、API管理器、云部署(AWS)、生产服务监视和z佳实践等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

购买链接:https://item.jd.com/12639616.html

精彩回顾

轻松实现在K8S上部署Spring Boot应用(上)

10个不容错过的VSCode插件(下)

10个不容错过的VSCode插件(上)

处理高并发,使用信号量高效管理Java线程

FPGA对比GPU,优劣势与应用场景分析

长按关注《Java学研大本营》
长按访问【IT今日热榜】,发现每日技术热点
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存