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

news2024/11/18 18:47:02

文章目录

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

一、部署原理图

  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: sptest
      labels:
        controller: deploy 
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: sptest
      template:
        metadata:
          labels:
            app: sptest
        spec:
          containers:
            - name: k8stest
              image: 192.168.248.12:180/myresponsity/springboot-docker:v1
              ports:
                - name: k8stest-port
                  containerPort: 8080
                  protocol: 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.coloradmin.cn/o/1099497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web3D虚拟人制作简明指南

如何在线创建虚拟人? 虚拟人,也称为数字化身、虚拟助理或虚拟代理,是一种可以通过各种在线平台与用户进行逼真交互的人工智能人。 在线创建虚拟人变得越来越流行,因为它为个人和企业带来了许多好处。 通过虚拟助理或代理,您可以以更具吸引力和个性化的方式与客户或受众进…

iOS 中,isa 指针

每个对象都有 isa 指针,指向对象所属的类。例如类 NSString 其实是类对象。 类对象产生于编译期,单例。 类对象有 isa 指针指向对应元类,元类(metaclass)中保存了创建类对象以及类方法所需的所有信息。 struct objc_…

根据脑图谱获取感兴趣区域的mask

根据脑图谱获取感兴趣区域的mask 1,引入1.1 ASPECT-Atlas 2,获取脑图谱感兴趣区域mask参考: 1,引入 脑影像分析中,我们常常会针对性的对某些感兴趣区域进行分析,而对它们进行分析的前提是获取该区域的mask…

网络社区挖掘-图论部分的基本知识笔记

1 网络社区挖掘定义 网络社区挖掘是指利用数据挖掘技术和机器学习算法,分析社交网络、在线社区或互联网上的各种交互数据,以揭示其中隐藏的模式、关系和信息。这些社区可以是社交媒体平台、在线论坛、博客、微博等,人们在这些平台上进行交流…

vueday01——动态参数

我们现在知道了 v-bind:的语法糖是: v-on:的语法糖是 我们现在来尝试一下&#xff0c;定义一个动态参数模拟点击事件按钮 <div :id"idValue" ref"myDiv">我是待测div{{ resultId }}</div> <button v-on:[eventName]"doSomething&…

wsl使用vscode连接,远程安装C/C++ 拓展时,报错

报错内容&#xff1a; EACCES: permission denied, rename /home/wen/.vscode-server/extensions/.b61b1c7c-f703-4dfd-bdc5-d9a00681c4b7 -> /home/wen/.vscode-server/extensions/ms-vscode.cpptools-1.17.5-linux-x64 解决办法&#xff1a; 升级wsl到wsl2就好了。 &a…

高质量床上用品类网站带手机端的pbootcms模板

模板介绍&#xff1a; 这是一个基于PbootCMS内核开发的床上用品类网站模板&#xff0c;专为床上用品、家用纺织类企业设计和开发。它不仅提供了网站界面简洁简单、易于管理的特点&#xff0c;还附带了测试数据&#xff0c;方便用户进行演示和学习。 模板特点&#xff1a; 采用…

vueday01——文本渲染与挂载

1.定义html样式字符串 const rawHtml "<span stylecolor:red>htmlTest</span>" 2.创建标签&#xff0c;分别渲染普通文本和html文本 <p> 你好<span v-html"rawHtml"></span></p> 3.代码展示 4.结果展示

Springboot视图解析与模板引擎~

视图解析&#xff1a; springboot默认不支持JSP&#xff0c;需要引入第三方模板引擎技术实现页面渲染 视图处理方式&#xff1a;转发&#xff0c;重定向&#xff0c;自定义视图 thymeleaf的使用&#xff1a; 1&#xff1a;引入starter <dependency><groupId>o…

windows环境下定时备份删除mysql文件bat脚本

1、新建一个xx.bat结尾的文件复制已下内容 rem ******MySQL backup start******echo off::删除一周前的备份数据forfiles /p "D:\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f path"::设置时间变量set "Ymd%date:~0,4%%date:~5,2%%date:~…

田字描红贴

<html> <title>田字描红贴</title> <head> <style> canvas { border:1px solid gray; } </style> </head> <body> <div align"center"><canvas id"canvas"></canvas></div> <…

【Mysql】Mysql的字符集和比较规则(三)

字符集和比较规则简介 字符集简介 我们知道在计算机中只能以二进制的方式对数据进行存储&#xff0c;那么他们之间是怎样对应并进行转换的&#xff1f;我们需要了解两个概念&#xff1a; 字符范围&#xff1a;我们可以将哪些字符转换成二进制数据&#xff0c;也就是规定好字…

专业144,总分440+,上岸西北工业大学827西工大信号与系统考研经验分享

我的初试备考从4月末&#xff0c;持续到初试前&#xff0c;这中间没有中断。 总的时间分配上&#xff0c;是数学>专业课>英语>政治&#xff0c;虽然大家可支配时间和基础千差万别&#xff0c;但是这么分配是没错的。 数学 时间安排&#xff1a;3月-7月&#xff1a;…

【LeetCode高频SQL50题-基础版】打卡第9天:第46~50题

文章目录 【LeetCode高频SQL50题-基础版】打卡第9天&#xff1a;第46~50题⛅前言患某种疾病的患者&#x1f512;题目&#x1f511;题解 第二高的薪水&#x1f512;题目&#x1f511;题解 按日期分组销售产品&#x1f512;题目&#x1f511;题解 列出指定时间段内所有的下单产品…

apache shiro安全框架反序列化漏洞

用linux搭建一个环境 配置下源vi /etc/apt/sources.list 源如果是kali官方的有时候会下载不了&#xff0c;改成中科大的源 更新下源apt-get update 安装docker-compose 重启kali 启动docker容器 apt-get install docker apt-get install docker-compose reboot service do…

Sql Server 数据库中的所有已定义的唯一约束 (列名称 合并过了)

查询Sql Server Database中的唯一约束 with UniqueBasic as (SELECTtab.name AS TableName, -- 表名称idx.name AS UniqueName, -- 唯一约束的名称col.name AS UniqueFieldName -- 唯一约束的表字段FROMsys.indexes idxJOIN sys.index_columns idxColON (idx.object_id idxCo…

windows环境下搭建redis5.x集群

下载windows版本redis5.x redis.windows.conf内容修改如下&#xff1a; # 端口 &#xff08;注意&#xff1a;改为每个文件夹对应的端口&#xff0c;分别为6379、6380、6381、6382、6383、6384&#xff09; port 6379 # 允许创建集群 appendonly yes cluster-enabled…

【UE5 Cesium】18-Cesium for Unreal 建立飞行跟踪器(3)

本篇博客在上一篇【UE5 Cesium】17-Cesium for Unreal 建立飞行跟踪器&#xff08;2&#xff09;基础上&#xff0c;实现变速飞行的效果。 步骤 1. 打开“BP_Aircraft” 可以看到飞机的运动主要是通过“设置Actor变换”实现的&#xff1a; 最根源是由于“插值”节点中“Alpha…

day01——禁用按钮和输入框等组件

1.代码展示 <button :disabled"true" click"printId">Print ID {{ resultId }}</button> 2.非禁用情况 <button :disabled"false" click"printId">Print ID {{ resultId }}</button> 3.禁用情况 <butt…

notepad++ 批量替换删除指定字符之后 或者 之前的字符,Notepad+批量替换使用大全

notepad 批量替换删除指定字符之后 或者 之前的字符&#xff0c;Notepad批量替换使用大全 资源宝分享&#xff1a;www.httple.net 注意: 不支持多行表达式 (involving \n, \r, etc). 1 基本表达式 符号解释.匹配任意字符&#xff0c;除了新一行(\n)。也就是说 “.”可以匹配 \…