基于k8s的微服务一键部署解决方案

2023-11-19

父项目msagd配置

  1. 编写pom.xml的属性标签<properties></properties>

     <properties>
    	  <!--私有docker仓库地址:ip:port-->
     	  <docker.image.host>docker.io</docker.image.host>
          <!--镜像前缀,随便取(命名空间)-->
          <docker.image.prefix>13711919653</docker.image.prefix>
     </properties>
     
    
  2. 编写pom.xml的构建标签<pluginManagement></pluginManagement>

    在父项目中编写dockerfile插件的配置管理,子项目按需引入插件依赖即可

     <build>
          <pluginManagement>
                <plugins>
                    <plugin>
                        <!--插件依赖-->
                        <groupId>com.spotify</groupId>
                        <artifactId>dockerfile-maven-plugin</artifactId>
                        <version>1.4.13</version>
                        <executions>
                            <!--通过mvn package 将会执行docker构建、tag、推送功能-->
                            <execution>
                                <id>tag-version</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>build</goal>
                                    <goal>tag</goal>
                                   <goal>push</goal>
                                </goals>
                                <configuration>
                                    <!--项目版本号作镜像标签号-->
                                    <tag>${project.version}</tag>
                                </configuration>
                            </execution>
                        </executions>
                        <configuration>
                            <!--使用maven的setting.xml方式配置授权-->
                            <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
                            <googleContainerRegistryEnabled>false</googleContainerRegistryEnabled>
                            <!--授权的账号密码,经测试不起作用-->
                            <!--<username>myname</username>-->
                            <!--<password>mypassword</password>-->
                            <!--docker私有仓库地址-->
                            <repository>${docker.image.host}/${docker.image.prefix}/${project.artifactId}</repository>
                            <!--上下文中dockerfile名称-->
                            <dockerfile>Dockerfile</dockerfile>
                            <!--dockerfile上下文路径-->
                            <contextDirectory>${project.basedir}</contextDirectory>
                            <!--项目版本号作镜像标签号-->
                            <tag>${project.version}</tag>
                            <!--构建参数-->
                            <buildArgs>
                                <!--传递到Dockerfile中的参数:jar包名称-->
                                <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                            </buildArgs>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
     </build>
    

子项目msa-xxx配置

  1. 编写pom.xml的构建标签<plugin></plugin>

    <!--docker插件依赖-->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>dockerfile-maven-plugin</artifactId>
    </plugin>
    
  2. 项目根目录上编写Dockerfile文件

    FROM openjdk:8-jre-stretch
    #配置文件上传递过来的jar包名称
    ARG JAR_FILE
    COPY  ${JAR_FILE} app.jar
    #端口暴露
    EXPOSE 1000
    ENTRYPOINT ["java", "-jar","-Xms1024m","-Xmx1024m","-Xss1024K","-XX:MetaspaceSize=512m","-XX:MaxMetaspaceSize=512m","app.jar"]
    #active
    CMD ["--spring.profiles.active=k8s"]
    

    Dockerfile上下文环境如图所示
    在这里插入图片描述

使用mvn一键部署docker镜像

  1. 离线环境安装apache-maven3.6.2

    #安装wget命令
    yum -y install wget
    #下载maven安装包
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
    #解压缩
    tar -zxvf apache-maven-3.6.2-bin.tar.gz 
    #配置maven环境变量
    vi /etc/profile
    export MAVEN_HOME=/var/local/apache-maven-3.6.2
    export MAVEN_HOME
    export PATH=$PATH:$MAVEN_HOME/bin
    #环境变量立即生效
    source /etc/profile
    
  2. 编写maven的setting.xml的server标签<server></server>

    <servers>
    	 <server>
    	 	<!--私有docker仓库地址:ip:port-->
    	    <id>docker-repo.example.com:8080</id>
    	    <!--docker仓库用户名-->
    	    <username>me</username>
    	    <!--docker仓库密码-->
    	    <password>mypassword</password>
    	  </server>
     <servers>
    
  3. 设置版本编号 mvn versions:set -DnewVersion=x.x.x(不需要可不运行)

  4. 开始一键部署 mvn package

编写k8s部署文件

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

基于k8s的微服务一键部署解决方案 的相关文章

  • 如何用3个方法做到照片数据恢复…

    照片数据恢复是否能够做到 现在电脑已经成为社会的主流工具 因为很多工作有已经通过互联网的桥梁达到了更高的利益 基本现在的生活已经离不开电脑的存在 当我们电脑中的照片或者相机什么的照片删除之后该怎么办 本期要给大家介绍一下照片丢失该怎么办 不
  • NHCP H4: Network Resource Management Topic

    NHCP H4 Network Resource Management Topic Cloud computing Single Choice T F items Single Choice 1 部署华为云计算解决方案时 一般将服务器BMC
  • Pygame 教程(4)拓展:使用 subsurface 方法

    原文 图像传输和绘制文本 在本拓展文章 将展示如何使用pygame Surface subsurface方法实现原文中的更改线条粗细步骤 pygame Surface subsurface将获取原Surface对象的子Surface它与原S
  • linux deepin/ubuntu系统 远程连接windows/linux 用rdesktop

    一 首先使用rdesktop 主要是rdesktop非常容易安装 极度简单 二 安装 1 duso apt get install rdesktop 三 windows 配置 1 远程设置 系统设置的远程设置 四 rdesktop连接win
  • C# 图片操作(图片读取,保存,转换,传输)

    JPG PNG GIF BMP图片格式的区别 类型 优点 缺点 应用场景 相同图片大小比较 BMP 无损压缩 图质最好 文件太大 不利于网络传输 152K GIF 动画存储格式 最多256色 画质差 53K PNG 可保存透明背景的图片 画
  • TCP/IP网络编程 第五章:实现基于TCP的服务端/客户端(2)

    回声客户端的完美实现 在上一章中 我们提出了实现的回声客户端存在的问题 这里我们来解决一下 先给出对应的服务端和客户端代码 while str len read clnt sock message BUF SIZE 0 write clnt
  • 使用cloudflare+wzfou为自己的网站配置CDN加速

    本文同步于个人博客 蝴蝶飞不过沧海 Blog 本文链接 泛播 Cloudflare 挖站否 Wzfou 为什么用到挖站否 单独泛播不就可以作cdn加速吗 众所周知泛播 cloudflare 国外知名免费cdn服务商无需网站备案 但有个缺点就
  • Latex安装教程

    Latex安装教程 TeXLive TeXstudio 1 TeXLive安装 2 TeXstudio安装 TeXLive和TeXstudio的安装包 链接 https pan baidu com s 17rgbGKE9t7oKd FePo
  • MOOC PTA 08-图8 How Long Does It Take

    http pta patest cn pta test 18 exam 4 question 631 构建图的邻接矩阵 寻找入度为0的顶点 将其压入队列 出队列时对其相连接的顶点入度减1 更新每个顶点的最大时间 刚开始提交 3和5 测试点过
  • C#笔记7——发送电子邮件C#笔记8——多功能电子邮件发送程序实例

    C 笔记7 发送电子邮件 最近用C 测试了一下发邮件功能 用QQ邮件服务器发送邮件 亲测代码如下 for send mail using System Net Mail using System Net using System Threa
  • 使用Vue3自定义指令,让你的应用更具交互性

    个人网站 紫陌 笔记分享网 想寻找共同学习交流 共同成长的伙伴 请点击 前端学习交流群 1 认识自定义指令 在Vue的模板语法中我们学习过各种各样的指令 v show v for v model等等 除了使用这些指令之外 Vue 也允许我们
  • 永磁同步电机矢量控制(二)——控制原理与坐标变换推导

    2 永磁同步电机控制原理 2 1 从PMSM电机的数学模型出发 dq 轴 电压方程 dq 轴 轴磁链方程 dq 轴 转矩方程 dq 轴 运动方程 分析上述方程 如果我们能够控制 id 0 那么电压方程就可简化为 转矩方程为 运动方程为 以上
  • string (std::string)转换为QString的用法(含中文)

    string s 123 QString str QString fromStdString s 含中文时的转换 std string str 你好世界 QString Name QString fromLocal8Bit str c st
  • redis配置认证密码

    redis配置密码 1 通过配置文件进行配置 yum方式安装的redis配置文件通常在 etc redis conf中 打开配置文件找到 requirepass foobared去掉行前的注释 并修改密码为所需的密码 保存文件 requir
  • 2-数据结构-线性表之顺序表的动态分配

    说明 由于原来顺序表的静态分配 浪费空间 且存在溢出现象 因此采取动态分配的方式 创建顺序表中的数组 跟C语言正常动态分配一样 需要直到扩充的大小 和数组指针即可 代码如下 看着多 其实原理差不多 主要知道哪些操作即可 无需了解具体代码 i
  • 基于深度学习的文本分类系统(完整代码+数据)bert+rnn textcnn fastcnn bert

    程序说明 硬件 GPU Tesla V100 32GB显存 内存 32GB
  • OpenFace库(Tadas Baltrusaitis)中基于HOG进行正脸人脸检测的测试代码

    Tadas Baltrusaitis的OpenFace是一个开源的面部行为分析工具 它的源码可以从https github com TadasBaltrusaitis OpenFace下载 OpenFace主要包括面部关键点检测 facia
  • 计算机毕业设计项目大全

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • 美化github首页

    创建仓库 注 新建仓库的名字要和自己的名字完全一致 提交的源码必须在主分支上 master或者main 配置完成 回到你的主页 你就能看到在置顶项目的上方多了一个README md 编辑改文件即可 美化首页源码 1 github概览数据 G
  • 若依框架中@DataScope数据权限注解的使用与自定义sql语句。

    介绍 若依框架本身具有角色 部门 用户业务 在业务中 用户必须绑定一个角色 而角色又必须将自身绑定到部门 角色绑定了哪些部门 就决定着隶属于该角色的用户能对哪些部门数据进行增删改 那么 怎么实现让用户只能遵循其绑定角色所指定的部门 来进行数

随机推荐

  • 分布式CAP定理,为什么不能同时满足三个特性?

    在弄清楚这个问题之前 我们先了解一下什么是分布式的CAP定理 根据百度百科的定义 CAP定理又称CAP原则 指的是在一个分布式系统中 Consistency 一致性 Availability 可用性 Partition tolerance
  • linux rhel6 nvidia 卡 在启动界面,RHEL6上安装Nvidia显卡驱动

    二 在字符界面下 运行级3 运行驱动安装程序 在RHEL6上因为Nouveau的关系会出现下面的错误 因此需要将该模块禁用掉 root rhel6 sh NVIDIA Linux x86 64 275 09 07 run Verifying
  • 如何编译SQLite-How To Compile SQLite

    SQLite是ANSI C的源代码 在使用之前必须要编译成机器码 这篇文章是用于各种编译SQLite方法的指南 这篇文章不包含编译SQLite的每个步骤的反馈 那样可能会困难因为每种开发场景都不同 所以这篇文章描述和阐述了编译Sqlite的
  • 区块链应用开发(智能合约的开发和WeBASE合约IDE的使用)

    文章目录 四 智能合约的开发和WeBASE合约IDE的使用 一 实验概述 二 实验目标 三 实验环境及建议 四 实验步骤 4 1 启动Webase 4 2 智能合约开发 4 2 1 合约功能设计 4 2 2 存证合约开发 4 2 3 工厂合
  • 浅析赋值、浅拷贝、深拷贝的区别

    1 原理 赋值 将某一对象赋给某个变量的过程 称为赋值 浅拷贝 浅拷贝是创建一个对象 这个对象有着原始对象属性值的一份精准拷贝 如果属性是基本类型 拷贝的就是基本类型的值 如果属性是引用类型 拷贝的就是内存地址 如果其中一个对象改变了这个地
  • 寒假训练 第二节 数据结构基础 总结

    数组 定义 语言支持数组数据结构 它可以存储一个固定大小的相同类型元素的顺序集合 数组是用来存储一系列数据 但它往往被认为是一系列相同类型的变量 所有的数组都是由连续的内存位置组成 最低的地址对应第一个元素 最高的地址对应最后一个元素 数组
  • python 爬虫 GET(带参) 请求 配置params参数

    import requests 发送网络请求 response requests get http httpbin org get name Jack age 30 print response text 输出结果 args age 30
  • 2019北邮网安院机试真题(回忆版)@lantin

    2019北邮网安院机试真题 回忆版 细不谈 前两题真的都是签到题 会简单排序和if else都可以写的出来的题目 网安院的机试基本上是两道签到题 C题是数据结构题 D题是算法 做到保2争3 保3争4面试不出原则问题基本上复试稳了 Probl
  • Qt系列文章之 mousePressEvent

    上一篇文章介绍QTabWidget的使用技巧 本文开始介绍Qt最常用的事件之一QMouseEvent 鼠标事件 mousePressEvent 鼠标事件是Qt中十分重要的人机交互形式 鼠标事件包括很多内容 此处先介绍最基本的mousePre
  • MySQL 表分区 A PRIMARY KEY must include all columns in the table's partitioning function

    当我们在对MySQL的数据表进行分区的时候 很容易碰到如下错误 A PRIMARY KEY must include all columns in the table s partitioning function 意思是说分区的字段必须是
  • Qt 不规则窗口,不规则按钮,不规划控件 不规则界面

    有一些特殊情况 需要使用不规则窗口或按钮 看起来非常炫酷 类似 Qt 实现 不规则样式设置 不是视觉欺骗 是真正的不规则 点击外面不会触发按钮的点击信号 Part1 不规则窗口 效果 显示成一张图片中的图形 使用带有透明区域的png图片 i
  • 设计模式--提供者模式provider

    设计模式 C 提供者模式 Provider Pattern 介绍 为一个API进行定义和实现的分离 示例 有一个Message实体类 对它的操作有Insert 和Get 方法 持久化数据在SqlServer数据库中或Xml文件里 根据配置文
  • sql 求日期均值

    备忘一下 在sql中求日期均值的语句 首先 AVG 只能作用与数值型字段 不能作用于日期字段 所以不能像求数值均值一样求日期均值 要求日期均值 需要先把 日期转为Long 然后对转后的Long求均值 对Long求完均值 在把Long转为 日
  • git 将本仓库的分支代码提交到另外一个仓库

    因为新项目开发的项目代码是建立在另外一个项目的代码框架上进行样式与逻辑功能修改 所以为了省事 想着把旧仓库的temp分支代码直接提交到新仓库master分支底下进行项目开发 所以需要在git上进行一些操作 将本仓库的分支代码提交到另外一个仓
  • 【Linux扩容】Vmware虚拟机内的Linux扩容

    1 虚拟机设置 Vmware 虚拟机 设置 硬盘 扩展 40 64G 2 Linux磁盘扩展 有图形化桌面 GParted 分区上右键 扩展 保存 无图形化桌面 找一个有图形化桌面的Linux live镜像 CD载入 或者LinuxToGo
  • Linux网络编程之Tcp(内含服务器、客户端代码实例)

    文章目录 前言 Tcp模型 服务器端 客户机端 代码 运行结果 结束 前言 本节讲解需要相关的网络基础知识 如果缺少相关知识 请先学习 Linux网络编程之网络基础 和 Linux网络编程之网络基础2 Tcp模型 先打开我们之前讲过的Tcp
  • CVE-2021-40444漏洞复现详细

    2021年9月8日 微软官方发布了MSHTML组件的风险通告 漏洞编号 CVE 2021 40444 未经身份验证的攻击者可以利用该漏洞在目标系统上远程执行代码 微软官方表示已经监测到该漏洞存在在野利用 1 漏洞详情 Microsoft M
  • js 本地存储和获取

    localStorage setItem temp orderAr 存入 参数 1 调用的值 2 所要存入的数据 console log localStorage getItem temp 输出
  • 安装用jieba,实现用TF-IDF算法进行关键词的提取

    文本知识提取 目录 1 安装jieba 2 TF IDF算法 2 1算法的定义 2 2算法的应用 1 词性标注 2 去停用词 3 关键词提取 1 安装jieba Jieba分词官网 https github com fxsjy jieba
  • 基于k8s的微服务一键部署解决方案

    父项目msagd配置 编写pom xml的属性标签