使用Kubernetes部署Springboot或Nginx的详细教程

使用Kubernetes部署Springboot或Nginx的详细教程,第1张

使用Kubernetes部署Springboot或Nginx的详细教程

本文详细介绍了一个用Kubernetes部署Springboot或Nginx的详细示例教程,对大家来说非常详细。对大家的学习、培训或者工作都有一定的参考价值,一定要朋友们参考。

1序言

在Maven一键部署Springboot到Docker仓库准备自动化之后,Springboot的Docker镜像系统早已准备就绪,可以在Docker上成功 *** 作。现在是时候放上Kubernetes跑跑步了。很简单,只是一个yaml文件。

2一键部署Springboot

2.1提前准备yaml文档

当您准备好镜像系统文件时,很容易部署到Kubernetes。你只需要一个yaml文件格式的文件,可以描述你的必要组件,比如部署、服务、入口等。定义以下内容:

apiVersion:apps/v1 kind:Deployment metadata: name:pkslow-springboot-deployment spec: selector: matchLabels: app:springboot replicas:2 template: metadata: labels: app:springboot spec: containers: -name:springboot image:pkslow/springboot-mongo:0.0.6 ports: -containerPort:8080 --- apiVersion:v1 kind:Service metadata: labels: app:springboot name:pkslow-springboot-service spec: ports: -port:8080 name:springboot-service protocol:TCP targetPort:8080 nodePort:30080 selector: app:springboot type:NodePort

种类:种类,如部署、服务、Pod、入口等。,这是丰富的;

元数据:用于定义一些组件的信息内容,如名称、标识等。

标签:标记功能,非常有效,用于选择关系;但标签并不表现出唯一性,可以通过应用构图来选择;

NodePort:必须向外界公开的服务项目有三种方法:NodePorts、LoadBalancer和Ingress。这里,应用了节点端口;必须注意的是,其端口范围默认为[3000-32767],如果需要其他类别,必须更改主要参数。

2.2根据kubectl说明进行部署

当yaml文件准备就绪时,可以根据以下说明部署它:

$kubectlcreate-fpksow-springboot.yaml deployment.apps/pkslow-springboot-deploymentcreated service/pkslow-springboot-servicecreated

查看控制面板日志显示部署和服务已经成功建立。查询仪表板的以下内容:

浏览Web服务:http://localhost:30080/user

根据cmd检查:

$kubectlgetdeployment NAMEREADYUP-TO-DATEAVAILABLEAGE pkslow-springboot-deployment2/2228米2s $kubectlgetservice NAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGE kubernetesClusterIP10.96.0.1<none>443/TCP十米 pkslow-springboot-serviceNodePort10.102.218.119<none>8080:30080/TCP8米7s $kubectlgetpod NAMEREADYSTATUSRESTARTSAGE pkslow-springboot-deployment-68dffc6795-874tp1/1Running08米15s pkslow-springboot-deployment-68dffc6795-89xww1/1Running08米15s

到目前为止,每个人都已经成功地将Springboot发布到Kubernetes。

2.3试杀一个pod?

Kubernetes的最低管理方法不是一个容器,而是一个吊舱。

让我们试着删除一个Pod,看看它会产生什么。

$kubectldeletepodpkslow-springboot-deployment-68dffc6795-89xww pod"pkslow-springboot-deployment-68dffc6795-89xww"deleted $kubectlgetpod NAMEREADYSTATUSRESTARTSAGE pkslow-springboot-deployment-68dffc6795-874tp1/1Running013m pkslow-springboot-deployment-68dffc6795-gpw671/1Running046s

可以发现,删除另一个Pod后,会自动为每个人形成一个新的Pod,可以提高所有服务的高可用性。

2.4试图杀死一艘船只?

让我们来谈谈如果你杀死了一艘船,你会有什么反应。

$dockerps $dockerrm-f57869688a226 57869688a226 $dockerps

测试结束后,杀死一个船只后,会自动再次为大家形成一个船只案例。Pod不会改变,也不会再次形成。

2.5快速扩展Pod

客户需求猛增,服务项目不堪重负。这个时候必须增加豆荚的数量。只有yaml供应文件的副本必须更改并升级到副本:4。随后,执行了以下指令:

$kubectlapply-fpksow-springboot.yaml

查询仪表盘,在原来两个豆荚的基础上,又升级了两个。

3Nginx的一键部署

如果没有Springboot的镜像系统,可以应用官网的Nginx镜像系统。yaml文件如下所示:

apiVersion:apps/v1 kind:Deployment metadata: name:nginx-deployment spec: selector: matchLabels: app:nginx replicas:3 template: metadata: labels: app:nginx spec: containers: -name:nginx image:nginx:1.19.0 ports: -containerPort:80 --- apiVersion:v1 kind:Service metadata: labels: app:nginx name:nginx-service spec: ports: -port:80 name:nginx-service1 protocol:TCP targetPort:80 nodePort:30000 -port:81 name:nginx-service2 protocol:TCP targetPort:80 nodePort:30001 selector: app:nginx type:NodePort

实施部署说明:

$kubectlapply-fnginx-deployment-scale.yaml deployment.apps/nginx-deploymentcreated service/nginx-servicecreated

查询仪表板的以下内容:

浏览服务项目:http://localhost:30000/或http://localhost:30001。因为每个人都设定了两个。

4摘要

本文通过两个案例对库伯涅茨进行了理性的认识,对进一步理解定义有很大帮助。后面再说基本原则和要点。

到目前为止,关于用Kubernetes部署Springboot或Nginx的这篇文章已经在这里详细介绍过了。关于使用Kubernetes部署Springboot或Nginx的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/774442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存