必要条件 K8S环境机器做部署用,推荐一主双从。 推荐安装文档

Docker Harbor私有仓库,准备完成后在需要使用仓库的机器docker login。

开发机器需要Docker环境,build及push使用

基础配置准备

一、构建基本Springboot工程,本例所用版本及结构如下图

创建测试代码,简单打印几行log

二、maven配置

1. properties配置

pasq

192.168.1.253:8081

2. plugins配置

org.springframework.boot

spring-boot-maven-plugin

com.spotify

dockerfile-maven-plugin

1.4.10

src/main/docker/Dockerfile

${docker.repostory}/${docker.image.prefix}/${project.artifactId}

${project.version}

target/${project.build.finalName}.jar

三、Dockerfile文件 #基础镜像,如果本地仓库没有,会从远程仓库拉取

FROM openjdk:8-jdk-alpine

#容器中创建目录

RUN mkdir -p /usr/local/pasq

#编译后的jar包copy到容器中创建到目录内

COPY target/dockertest-0.0.1.jar /usr/local/pasq/app.jar

#指定容器启动时要执行的命令

ENTRYPOINT ["java","-jar","/usr/local/pasq/app.jar"]

构建镜像并推送 构建镜像,执行如下命令

构建镜像日志如下

完成后 docker images可以查看打包的镜像

命令窗口执行 docker push REPOSITORY推送至docker harbor

docker harbor可以查看到推送的镜像

K8S部署

1. 创建dockertest.yaml文件如下 apiVersion: v1

kind: Service

metadata:

name: dockertest

namespace: default

labels:

app: dockertest

spec:

type: NodePort

ports:

- port: 8080

nodePort: 30090 #service对外开放端口

selector:

app: dockertest

---

apiVersion: apps/v1

kind: Deployment #对象类型

metadata:

name: dockertest #名称

labels:

app: dockertest #标注

spec:

replicas: 3 #运行容器的副本数,修改这里可以快速修改分布式节点数量

selector:

matchLabels:

app: dockertest

template:

metadata:

labels:

app: dockertest

spec:

containers: #docker容器的配置

- name: dockertest

image: 192.168.1.253:8081/pasq/dockertest:0.0.1 # pull镜像的地址 ip:prot/dir/images:tag

imagePullPolicy: IfNotPresent #pull镜像时机,

ports:

- containerPort: 8080 #容器对外开放端口

2. 运行 kubectl create -f dockertest.yaml创建Deployment

完成后执行 kubectl get pods如下图,可以看到启动了三个pod

3. 运行 kubectl logs -f podsname查看日志

新开窗口分别查看3个pod的日志,然后访问 k8s master节点IP+service对外开放端口访问springboot应用,我这里使用 http://192.168.1.250:30090/test/test, 多刷新几次可以看到pod直接做了负载,如下图:

pods1:

pods2:

pods3:

运行 kubectl delete -f dockertest.yaml可以删除pods与service

修改dockertest.ymal 中replicas数量后,运行 kubectl apply -f dockertest.yaml可以扩容或收缩副本数量

到此,k8s部署springboot应用完成。有心得交流的朋友可以私信或留言。

k8s部署jar包_K8S部署SpringBoot应用_都超的博客-CSDN博客_k8s springboot相关推荐

  1. docker部署jar包的几种方式

    docker部署jar包的几种方式 前言 使用Dockerfile手动打包jar 简单打包运行 进化:可复用容器 究极进化:jdk镜像直接创建可服用容器 超究极进化:maven插件打包(不推荐) 无聊 ...

  2. 在Linux上部署jar包(不需要Docker,Tomcat等容器)解决xxx.jar中没有主清单属性

    一.springboot在idea中通过package命令打包 将target下生成的jar包拉到linux下,并执行jar包如下 [root@localhost oa]# java -jar new ...

  3. Jenkins自动部署测试环境之jar包自动部署

    在我们的日常工作中,可能经常会遇到以下问题: 1.测试环境是由开发去更新的,当开发忙于改bug的时候,测试环境更新频率比较低,问题不能得到及时的验证 2.频繁的找开发去更新环境的话 ,耽误别人的工作, ...

  4. jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理

    准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...

  5. windows服务器部署jar包

    服务器部署jar包,提供接口服务常用命令: 我这里打成jar包的名字是zhuganwu_jar(如果你的不是),放到webapps下后,自动解压,里面有一个jar包:zhuganwu.jar 查看进程 ...

  6. Docker安装java环境并部署jar包运行

    Docker安装java环境并部署jar包运行 作为一个前端,了解后端部署jar包也是有必要的,在这里就我学习的,做一个简单的笔记,这里可以结合我的商品的增删改查的java文章一起看. java实现商 ...

  7. 通过.sh文件快捷部署jar包到服务器上

    参考博客:https://blog.csdn.net/qq_43382350/article/details/125008727 直接写一个脚本文件,每次运行这个文件就可以通过.sh文件快捷部署jar ...

  8. 【java jar包 linux 部署】

    java jar包 linux 部署 一:maven 打包,如下图: 首先 点击右侧maven,然后点击lifecycle,打包完成,控制台输出:BUILD SUCESS 打包完成后,项目target ...

  9. Jenkins部署war包和部署jar包的详细步骤

    目录 零.配置Tomcat 一.自由风格项目远程部署war包 1.创建自由风格项目 2.增加构建步骤 3.增加构建后操作 4.立即构建 5.查看控制台输出 二.创建流水线项目远程部署war包 1.拉取 ...

最新文章

  1. 何恺明团队推出Mask^X R-CNN,将实例分割扩展到3000类
  2. Flutter中通过循环渲染组件
  3. 技术人生:我喜欢年纪不断变大
  4. 售后服务成OA品牌竞争重要因素
  5. android view强制重绘_android view 相关方法 layout draw 布局 重绘 | 学步园
  6. CreateMainWindow 创建主窗口属性
  7. 《Linux网络接口》---------struct ifreq struct ifconf
  8. Spring 多线程
  9. java 标注 json_java – 注释资源以生成JSON,但在响应头中返回“text/plain”
  10. SQL SERVER 2012 执行计划走嵌套循环导致性能问题的案例
  11. 人工搜索文字不可靠,还是要使用工具
  12. python基础语法总结(超详细)
  13. Hive安装详细步骤
  14. C语言旅途之用for循环与break求最大素数(质数)
  15. 天语W700 wipe
  16. python与数据思维基础笔记第一章_python学习笔记-第1章节 基础知识
  17. Java烤地瓜简单小案例
  18. Javafx 实现国际象棋游戏
  19. 【前端基础】盒子模型和页面布局总结
  20. PCF文件管道信息解析

热门文章

  1. URL重写 对于禁用cookie的 方法
  2. Cannot load 64-bit SWT libraries on 32-bit JVM 解决方法
  3. 汶川地震《生死不离》歌词
  4. K-L变换原理、图像压缩与人脸识别实战(附matlab代码)
  5. idea 快速导入实现父类方法_网站seo优化方法,实现快速排名!
  6. 海淀区第九届单片机竞赛获奖名单_第十二届程序设计竞赛暨ACM选拔赛获奖名单...
  7. mysql dsec_MySql数据库操作命令
  8. 判断三个数是否能构成三角形_【内含干货】611. 有效三角形的个数
  9. sql 查询一个月的数据按天显示_数据分析-sql复杂查询
  10. iOS环境,Appium不支持driver.current_activity等操作