kubernates中怎么部署springboot
发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,本篇文章给大家分享的是有关kubernates中怎么部署springboot,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、创建一个S
千家信息网最后更新 2024年09月30日kubernates中怎么部署springboot
本篇文章给大家分享的是有关kubernates中怎么部署springboot,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1、创建一个Springboot应用
List-1.1
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping(value = "/") public String hello(){ System.out.println("hello方法"); return "Hello, k8s!"; } }
之后mvn clean package,打包,得到app.jar,和Dockerfile放在同一个目录下
List-1.2
mjduan@mjduan-ubuntu:/opt/software/docker/springboot-k8s$ ll total 676796 drwxr-xr-x 2 mjduan mjduan 4096 2月 15 15:43 ./ drwxr-xr-x 4 mjduan mjduan 4096 2月 15 15:30 ../ -rw-r--r-- 1 mjduan mjduan 16674428 2月 15 15:31 app.jar -rw-r--r-- 1 mjduan mjduan 362 2月 15 15:37 Dockerfile
2、制作镜像
Dockerfile的内容为
List-2.1
FROM openjdk:8 ADD app.jar /opt/app/app.jar RUN bash -c 'touch /opt/app/app.jar' # 开放8080端口 EXPOSE 8080 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 配置容器启动后执行的命令 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/opt/app/app.jar"]
之后执行命令来得到镜像
List-2.2
mjduan@mjduan-ubuntu:/opt/software/docker/springboot-k8s$ docker build -t hello:1.0 .
3、将该镜像放到所有的节点上
之后将这个镜像放到k8s的master和俩个node上,这里我是先用
docker save hello:1.0>hello.tar
命令得到文件hello.tar,之后将hello.tar用scp命令传到k8s的master和俩个node上。
之后在k8s的master和俩个node上,执行如下命令得到镜像hello:1.0
docker load -i hello.tar
4、kubernates上部署
好了,上述步骤完成后,在k8s的master上创建yaml文件
[root@localhost mjduan]# vi /data/mjduan/hello.yaml
hello.yaml的内容如下
apiVersion: apps/v1beta2 kind: Deployment metadata: name: example-demo3 labels: app: example-demo3 spec: replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: example-demo3 template: metadata: labels: app: example-demo3 spec: containers: - name: example-demo3 #image名称是我们的hello:1.0 image: hello:1.0 ports: - containerPort: 8080 protocol: TCP livenessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 30 timeoutSeconds: 30 imagePullPolicy: Never # Comment the following tolerations if Dashboard must not be deployed on master tolerations: - key: node-role.kubernetes.io/master effect: NoSchedule --- apiVersion: v1 kind: Service metadata: name: example-demo3 labels: app: example-demo3 spec: ports: - port: 8080 targetPort: 8080 selector: app: example-demo3 type: NodePort
部署Docker image,命令如下
[root@localhost mjduan]# kubectl create -f hello.yaml deployment.apps/example-demo3 created service/example-demo3 created
查看pod信息,如下
[root@localhost mjduan]# kubectl get pods NAME READY STATUS RESTARTS AGE example-demo3-746fc684df-h5dpq 1/1 Running 0 10s
查看service,如下,NAME为example-demo3的那个就是我们刚刚部署的,端口映射是宿主机的32300对应到容器的8080
[root@localhost mjduan]# kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE example-demo3 NodePort 10.107.189.1278080:32300/TCP 1m kubernetes ClusterIP 10.96.0.1 443/TCP 2h
访问服务
[root@localhost mjduan]# curl http://k8s.master:32300 Hello, k8s!
以上就是kubernates中怎么部署springboot,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
命令
镜像
内容
容器
就是
文件
更多
知识
端口
篇文章
实用
信息
名称
宿主
宿主机
工作会
文章
方法
步骤
目录
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
判断软件开发语言 工具
公司网络安全自查的要求
夏明炜网络安全
埃森哲大连软件开发
网络安全信息安全论坛
珠海软件开发公司现状
酒店网络安全审查
数据库中的水平和垂直分解
境外服务器网信负责吗
web服务器安全配置规范
奉贤区个性化网络技术服务材料
国家公共安全数据库官网
网络安全与ssl
外包软件开发 非法利用网络
数据库防止死锁
戴尔服务器大硬盘最多几块
宝山区推荐的网络技术有什么
顶层控制软件开发
宁波泰吉网络技术有限公司
国外网络安全2020安全内参
手游ea服务器连不上
直播app软件开发公司
1995年以后信息网络安全
服务器和Java程序之间的关系
榆树智能网络技术品质保障
计算机网络安全技术视频
5g网络技术细分产业
h310服务器内存条
网络安全教育宣传视
网络安全行业财务顾问