k8s部署springboot

2023-11-16

前言

在这里插入图片描述

首先以SpringBoot应用为例介绍一下k8s的部署步骤。

1.从代码仓库下载代码,比如GitLab;
2.接着是进行打包,比如使用Maven;
3.编写Dockerfile文件,把步骤2产生的包制作成镜像;
4.上传步骤3的镜像到远程仓库,比如Harhor;
5.编写Deployment文件;
6.提交Deployment文件到k8s集群;

从以上步骤可以看出,发布需要的工具和环境至少包括:代码仓库(GitLab)、打包环境(Maven)、镜像制作(Docker)、镜像仓库(Harbor)、k8s集群等。
当前,也可以借助一些开源的系统来发布你的应用,比如:Jenkins、https://gitee.com/i512team/dhorse等。

详细步骤

假如有一个名为Hello的SpringBoot应用,服务端口是8080,并且有一个/hello接口。

打包

这里直接从GitLab下载到本地,执行maven打包命令,这里打为Jar包:

mvn clean package

完成以后,生成的包为:hello-1.0.0.jar

制作镜像

以下步骤在具有Docker环境的Linux机器上操作。

  1. 把hello-1.0.0.jar放到/usr/local/hello目录下,并在该目录下创建Dockerfile文件,内容为:
FROM openjdk:8-jdk-alpine
ADD hello-1.0.0.jar /usr/local/hello.jar
ENTRYPOINT ["java", "-jar", "/usr/local/hello.jar"]

则/usr/local/hello目录的文件为:

-rw-r--r-- 1 root root      119 Feb 22 17:50 Dockerfile
-rw-r--r-- 1 root root 21863457 Feb 22 17:07 hello-1.0.0.jar
  1. 制作镜像,在/usr/local/hello目录下执行命令:
docker build -t 192.168.109.134:20080/dhorse/hello:1.0.0 .

其中,192.168.109.134:20080是Harbor镜像仓库地址,dhorse是项目名。

  1. 登录仓库并上传镜像
docker login 192.168.109.134:20080 -u admin -p Harbor12345
docker push 192.168.109.134:20080/dhorse/hello:1.0.0

编写Deployment文件

创建hello-k8s.yml文件,内容如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello
  labels:
    app: hello
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hello
  template:
    metadata:
      labels:
        app: hello
    spec:
      containers:
      - name: hello
        image: 192.168.109.134:20080/dhorse/hello:1.0.0
        imagePullPolicy: Always

部署应用

以下操作在k8s集群的mater机器上执行。

把hello-k8s.yml文件复制/user/local目录下,并在当前目录执行如下命令:

kubectl apply -f hello-k8s.yml

稍后,再执行如下命令:

kubectl get pods -o wide

输出结果如下:

NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE       NOMINATED NODE   READINESS GATES
hello-79d56dc985-7dz6q   1/1     Running   0          8s    10.32.1.180   centos06   <none>           <none>

然后在访问/hello接口:

curl http://10.32.1.180:8080/hello

推荐一个不错的部署应用的工具,https://gitee.com/i512team/dhorse

至此,发布结束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s部署springboot 的相关文章

随机推荐

  • vue项目使用$router.go(-1)刷新原来界面

    1 问题 我们常常需要使用 router go 1 返回之前的页面 但是却发现 之前的界面 保持着上次跳转的状态 比如说 弹框未关闭 状态未更新之类的等等 2 原因 使用 router go 1 返回 之前的数据都保留 并未刷新原来的界面
  • 渗透测试常见漏洞说明资料

    一 文件上传漏洞 1 意义 用户上传的可执行脚本文件 木马 病毒 恶意脚本 webshell等 并通过此脚本获得执行服务器的能力 2 原因 前端和服务器端过滤不严格 黑白名单设置不完善导致 一些文件上传功能实现代码没有严格限制用户上传的文件
  • 华为机试题32-密码截取

    描述 Catcher是MCA国的情报员 他工作时发现敌国会用一些对称的密码进行通信 比如像这些ABBA ABA A 123321 但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解 比如进行下列变化 ABBA gt 12ABBA
  • Python爬虫-1——爬取网页

    爬取网页 函数 askUrl url 浏览器 Chrome开发者版 最好使用这个 其他可能会有问题 其中 url 是我们所要爬取的页面的网址 这里我们爬取的是豆瓣电影前250的数据 https movie douban com top250
  • Elasticsearch-笔记 docker安装

    镜像 docker pull kibana 7 7 0 docker pull elasticsearch 7 7 0 建立挂载文件夹 mkdir esdata elasticsearch config mkdir esdata elast
  • 三自由度机械手腕设计机构设计

    1 1工业机器人简介 机器人是一种自动的 位置可控的 具有编程能力的多功能机械手 能够借助于可编程序操作来处理各种材料 零件 工具和专用装置 以执行种种任务 1 工业机器人是一种用于工业生产的机器人系统 通过自动化 可编程的控制下完成工作
  • 数组去重(unique())--numpy

    1 unique函数功能 返回对数组元素去重 并按升序排序的数组 2 函数语法与参数 numpy unique ar return index False return inverse False return counts False a
  • 移动端以及多端适配问题

    移动端 1 移动端的适配方案 1 为适配不同端口不同屏幕下的页面布局采用的不同代码编写思路 1 统一缩放 需要长宽比接近 2 采用rem和vm等相对布局 固定长度的采用px等 3 固定的尺寸加弹性布局 要求的是元素不要固定长度超过范围量 2
  • 【设计模式】23种设计模式之七大原则

    设计模式 23种设计模式之七大原则 什么是设计模式的原则 1 单一职责原则 基本介绍 案例分析 注意事项 2 接口隔离原则 基本介绍 案例分析 代码实现 3 依赖倒转原则 基本介绍 案例分析 依赖传递的三种方式 注意事项 4 里氏替换原则
  • spdlog使用示例

    Copyright c 2015 Gabi Melman Distributed under the MIT License http opensource org licenses MIT spdlog usage example 参考文
  • tensorflow 默认图和自定义图

    graph1 TF Graph with graph1 as default 在这个代码块里使用的是新创建的graph1 d TF constant 10 11 12 13 dtype TF int32 此时默认的graph 就是graph
  • OSI七层模型、TCP/IP四层模型(超详细!!!!!)

    OSI七层模型 七层模型 亦称OSI Open System Interconnection 参考模型是国际标准化组织 ISO 制定的一个用于计算机或通信系统间互联的标准体系 一般称为OSI参考模型或七层模型 它是一个七层的 抽象的模型体
  • cuda,nvidia-driver ,cudnn下载地址及版本对应

    1 cuda CUDA Toolkit 11 5 Downloads NVIDIA Developer 右下角可下载先前版本 2 nvidia driver https www nvidia cn Download index aspx l
  • 主数据管理系统(MDM)调研总结!!!

    文章目录 一 引言 1 1 主数据背景 1 2 主数据定义 1 3 主数据管理 1 3 1 什么是主数据管理系统 1 3 2 主数据管理的两体系一工具 1 3 3 主数据管理的挑战 1 4 主数据与其它数据的关系 1 4 1 主数据与元数据
  • Mybatis知识总结(三):Crud的实现,Mybatis的参数和输出及配置文件

    一 知识复习 1 1 自定义流程再分析 1 2 mybatis 环境搭建步骤 第一步 创建 maven 工程 第二步 导入maven坐标 第三步 编写必要代码 实体类和持久层接口 第四步 编写 SqlMapConfig xml 第五步 编写
  • 【EDA Tools】Spyglass 检查 Verilog 和 SystemVerilog 混合语言及 Lint 检查

    目录 写在前面 读入设计 发现问题并解决 Lint 检查 写在前面 Spyglass可以用于检查混合设计中的语言互操作性和一致性问题 对于设计中包含多种硬件描述语言的情况 Spyglass 能够识别并解析其中的模块及其互连 并对其进行验证
  • 前端要懂的色域知识

    前端也要面对 五彩斑斓的红 这种世纪难题了吗 rgb 255 0 0 真的是红色吗 现在有个 CSS 色值 rgb 255 0 0 请问一下各位 在网页上展示的是什么颜色 各位可能不用思考就马上能够脱口而出 红色 But 各位有没有想过 这
  • 【Redis从入门到进阶】第 2 讲:Jedis 的快速掌握

    本文已收录于专栏 Redis从入门到进阶 专栏前言 本专栏开启 目的在于帮助大家更好的掌握学习Redis 同时也是为了记录我自己学习Redis的过程 将会从基础的数据类型开始记录 直到一些更多的应用 如缓存击穿还有分布式锁等 希望大家有问题
  • Unity接入腾讯广告/腾讯联盟/优量汇SDK操作步骤——源码+图文效果详情

    Unity接入腾讯广告 腾讯联盟 优量汇SDK操作步骤 源码 图文效果详情 前言 一 下载SDK 二 官网注册相关项目信息 1 新建媒体 2 新建广告位 三 更改代码 1 更改初始化SDK的代码 2 更改对应的ID 总结 版权声明 前言 最
  • k8s部署springboot

    前言 首先以SpringBoot应用为例介绍一下k8s的部署步骤 1 从代码仓库下载代码 比如GitLab 2 接着是进行打包 比如使用Maven 3 编写Dockerfile文件 把步骤2产生的包制作成镜像 4 上传步骤3的镜像到远程仓库