当前位置: 首页 > news >正文

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.lryc.cn/news/198125.html

相关文章:

  • Ai数字人直播系统SaaS源码大开源,源码独立部署助力中小企业发展!
  • 新的 Work Node 如何加入 K8s 集群 - Kubeadm ?
  • laravel框架的优缺点是什么?
  • 程序员接单都在用这六大平台,你呢?
  • 2022年亚太杯APMCM数学建模大赛D题储能系统中传热翅片的结构优化求解全过程文档及程序
  • 图像处理软件Photoshop 2023 mac新增功能 ps 2023中文版
  • CSS基本讲解与使用(详解)
  • 最新AI创作系统ChatGPT源码+搭建部署教程+支持GPT4.0+支持ai绘画(Midjourney)/支持Prompt
  • Linux系统之部署SSCMS内容管理系统并实现外网访问
  • JVS-rules中的基础与复合变量:规则引擎的心脏
  • RN:指定模拟器启动
  • 【ARM Cache 系列文章 10 -- ARM Cortex-A720 Hunter 介绍】
  • 深度学习——残差网络(ResNet)
  • [java进阶]——IO流,递归实现多级文件拷贝
  • Linux创建与删除用户
  • 对传感器采样数据的低通滤波
  • Java开发树结构数据封装!
  • c++学习笔记汇总
  • [动手学深度学习]生成对抗网络GAN学习笔记
  • Kotlin中的算数运算符
  • Linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试
  • 第三期:云函数入门指南答案
  • 企业怎么通过数字化工具来实现数字化转型?
  • React函数式写法和类式写法的区别(以一个计数器功能为例子)
  • 【根据国防科大学报官网word模板修改的Latex模板】
  • 系列十一、Redis中分布式缓存实现
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-4)
  • 腾讯云服务器端口localhost可以访问,外部无法访问解决
  • 【软考-中级】系统集成项目管理工程师 【16 变更管理】
  • 【Eclipse】查看版本号