4-k8s-部署springboot项目简单实践

文章目录

    • 一、部署原理图
    • 二、部署实践

一、部署原理图

  1. 部门一般都有一个属于自己的私服gitlab服务器,由开发者开发代码,然后上传到私服gitlab
  2. 然后使用调度工具,如jenkins,去gitlab拉去代码,编译打包,最后得到一个jar包
  3. 得到的jar包,通过docker服务和编写好的Dockerfile文件,构建得到镜像
  4. 通过docker将镜像上传到harbor私服仓库
  5. 然后生产/测试环境,就可以在私服harbor服务器拉取镜像,进行部署
    在这里插入图片描述

二、部署实践

ps:由于还未搭建完整的devops流水线,所以这里主要简单手动模拟下打包镜像,上传镜像,拉去镜像部署的操作

  1. 准备好简单的springboot项目:docker.jar

  2. 编写Dockerfile文件

    FROM java:8
    VOLUME /tmp
    ADD docker.jar docker.jar
    RUN bash -c 'touch /docker.jar'
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/docker.jar"]
    
  3. 打包镜像:docker build . -t springboot-docker:v1

  4. 修改镜像标签:docker tag 5bea28f6b514 192.168.248.12:180/myresponsity/springboot-docker:v1

  5. 登录并且输入账号密码:docker login 192.168.248.12:180

  6. 上传镜像:docker push 192.168.248.12:180/myresponsity/springboot-docker:v1

  7. 编写k8s配置文件:vi /opt/springboot-docker.yaml

    ps:由于仓库是公开的,所以不需要设置私服harbor的账号密码

    apiVersion: apps/v1
    kind: Deployment
    metadata:name: sptestlabels:controller: deploy 
    spec:replicas: 1selector:matchLabels:app: sptesttemplate:metadata:labels:app: sptestspec:containers:- name: k8stestimage: 192.168.248.12:180/myresponsity/springboot-docker:v1ports:- name: k8stest-portcontainerPort: 8080protocol: TCP
    
  8. 启动pod:kubectl apply -f /opt/springboot-docker.yaml

  9. 暴露端口:kubectl expose deployment sptest --name=sptest-service --type=NodePort --port=8080 --target-port=8080

  10. 查看端口: kubectl get svc -n springboot
    在这里插入图片描述

  11. 访问:http://192.168.248.12:32367/
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/139765.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成

文章目录 openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成103.1 操作场景103.2 前提条件103.3 自认证证书生成过程 openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成 openGauss默认…

Docker 快速入门体验

Docker 是什么? Docker 是一个开源项目,它能够自动化部署应用程序,通过所谓的容器来实现。这些容器允许开发者将自己的应用以及依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 机器上也可以实现虚拟化。Do…

从Flink的Kafka消费者看算子联合列表状态的使用

背景 算子的联合列表状态是平时使用的比较少的一种状态,本文通过kafka的消费者实现来看一下怎么使用算子列表联合状态 算子联合列表状态 首先我们看一下算子联合列表状态的在进行故障恢复或者从某个保存点进行扩缩容启动应用时状态的恢复情况 算子联合列表状态主…

华为数通方向HCIP-DataCom H12-831题库(单选题:261-280)

第261题 某网络通过部署1S-IS实现全网与通,若在一台IS-IS路由器的某接口下配置命令isis timer holding multiplier 5 level-2,则以下关于该场景的描述,正确的是哪一项? A、该接口Level-2邻居保持时间为5秒 B、该接口Level-1邻居保持时间为30秒 C、该接口为点对点链路接口 …

2022年全网最全最细最流行的自动化测试工具有哪些?

一:前言 随着测试工程师技能和工资待遇的提升,甚至有一部分的开发人员开始转入测试岗位,跨入自动化领域的测试攻城狮越来越多。在自动化测试领域,自动化工具肯定占据了核心的位置。 本文总结了常用的测试自动化工具和框架&#x…

Spring framework Day 23:容器事件

前言 容器事件是 Spring Framework 中的一个重要概念,它提供了一种机制,使我们能够更好地了解和响应 Spring 容器中发生的各种事件。通过容器事件,我们可以在特定的时间点监听和处理容器中的各种状态变化、操作和事件触发,以实现…

超实用!了解github的热门趋势和star排行是必须得!

在当今的技术领域中,GitHub 已经成为了开发者们分享和探索代码的重要平台。作为全球最大的开源社区,GitHub上托管了数以亿计的项目,其中包括了各种各样的技术栈和应用。对于开发者来说,了解GitHub上的热门趋势和star排行是非常重要…

Unity3D 基础——使用 Mathf.SmoothDamp 函数制作相机的缓冲跟踪效果

使用 Mathf.SmoothDamp 函数制作相机的缓冲跟踪效果,让物体的移动不是那么僵硬,而是做减速的缓冲效果。将以下的脚本绑定在相机上,然后设定好 target 目标对象,即可看到相机的缓动效果。通过设定 smoothTime 的值,可以…

卷麻了,00后测试用例写的比我还好,简直无地自容......

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 如何编写测试用例? 作为一个测试新人,刚开始接触测试,对于怎么写测试用例很是头疼,无法…

OpenCV模板匹配实现银行卡数字识别

目录 1,项目流程 2,代码流程解读 2.1 导入工具包 2.2 设置参数 2.3 指定信用卡类型 2.4 展示图像 ​编辑 2.5 读取一个模板图像 2.6 转化为灰度图--------->再转化为二值图像 2.7 计算轮廓 ​编辑 2.8 导入我们要识别的图像&…

JavaSE入门---认识Java数组

文章目录 一. 数组的基本概念1.1 为什么要使用数组?1.2 什么是数组?1.3 数组的使用 二. 数组是引用类型三. 数组的应用场景四. 数组中的常用方法五. 二维数组 一. 数组的基本概念 1.1 为什么要使用数组? 想象这样的一个场景:期末…

【解决】运行vue项目,启动报错 in ./node_modules/@intlify/core-base/dist/core-base.cjs

我的处理方式: 一开始查了好多方法,删除node_modules,重新安装,切换node版本等,但是发现并没有用 之后来发现是安装依赖包的时候有些包安装失败导致的,只要有针对性的重新安装依赖就可以了 例如: in ./n…