springcloud+docker+k8s发布安装第三方插件脚本

  1. Dockerfile 安装第三方依赖插件软件 ,以及构建镜像
    #基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8
    FROM docker.io/centos:centos7
    #暴露端口
    EXPOSE 9311
    # 避免centos中文乱码
    ENV LANG en_US.utf8
    #容器中创建工作目录
    WORKDIR  /usr/local/plugin
    #容器中创建子目录
    RUN mkdir -p /usr/local/plugin/data &&  mkdir -p /usr/local/plugin/Echart# 构建容器时 复制解压 echarts phantomjs jdk 安装第三方插件软件 到容器
    ADD jdk-8u202-linux-x64.tar.gz  ./
    ADD echarts-convert.tar.gz  ./
    ADD phantomjs-2.1.1-linux-x86_64.tar.bz2  ./# 构建容器时 编译后的jar包copy到容器中创建到目录内
    COPY realize-market-value.jar realize-market-value.jar
    #COPY data/  ./data# 构建容器时 安装phantomjs 依赖系统libfontconfig.so文件
    RUN yum -y install fontconfig-devel
    # 构建容器时 安装phantomjs 生成echart图片中文字体支持
    RUN yum groupinstall 'fonts' -y
    #配置环境变量
    ENV JAVA_HOME=./jdk1.8.0_202
    ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV PATH=$JAVA_HOME/bin:$PATH# 构建容器时 指定容器时区
    RUN rm -f /etc/localtime \
    && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone
    # 启动容器时 要执行的命令
    ENTRYPOINT ["java","-jar","-Dspring.profiles.active=server"]
    # 启动容器时 启动 tomcat
    CMD ["/usr/local/tomcat/apache-tomcat-8.5.27/bin/catalina.sh", "run"]
    # 启动容器时 CMD的参数可以在镜像运行的时候被替换掉,并且成为ENTRYPOINT命令的参数
    CMD ["realize-market-value.jar"]
    

  2.  k8s 部署yaml 脚本配置,realize-market-value.yaml
    apiVersion: v1
    kind: Service
    metadata:name: $IMG_NAMEnamespace: rz-dtlabels:app: $IMG_NAME
    spec:type: ClusterIP #NodePortports:- name: tcp-9311-9311port: 9311protocol: TCPtargetPort: 9311#nodePort: 31051 #service对外开放端口selector:app: $IMG_NAME
    ---
    apiVersion: apps/v1
    kind: Deployment #对象类型
    metadata:name: $IMG_NAME #名称namespace: rz-dtlabels:app: $IMG_NAME #标注
    spec:replicas: 1 #运行容器的副本数,修改这里可以快速修改分布式节点数量selector:matchLabels:app: $IMG_NAMEtemplate:metadata:labels:app: $IMG_NAMEspec:containers: #docker容器的配置- name: $IMG_NAMEimage: rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/$IMG_NAME:$IMG_TAG # pull镜像的地址 ip:prot/dir/images:tagimagePullPolicy: Always #pull镜像时机,ports:- containerPort: 9311 #容器对外开放端口,需与springboot配置文件一致volumeMounts:- name: time-configmountPath: /etc/localtimereadOnly: true- name: volume-logsmountPath: /logssubPath: logsresources:limits:cpu: 500mmemory: 1Girequests:cpu: 10mmemory: 50Mi#从私有仓库拉取镜像凭证imagePullSecrets:- name: rz-dt-miyue-vpcvolumes:- name: time-confighostPath:path: /usr/share/zoneinfo/Asia/Shanghai- name: volume-logspersistentVolumeClaim:claimName: rz-dt-nas-volume-claim
    

  3. centos配置kubectl客户端连接k8s集群,执行,sh test.sh测试环境发布k8s,sh real.sh生产环境 
    echo "开始制作镜像..."
    image_name=realize-market-value
    image_tag=`date +%Y-%m-%d-%H-%M-%S` #_%H%M
    echo "当前时间版本号:$image_tag"
    docker build -t ${image_name}:${image_tag} .
    echo "制作镜像成功!"echo "登录"
    sudo docker login --username=aliyun03985131512 rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com --password=123echo "镜像最新版本提交"
    docker tag ${image_name}:${image_tag} rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/${image_name}:${image_tag}
    docker push rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/${image_name}:${image_tag}echo "k8s一键部署"
    export IMG_TAG=${image_tag}
    export IMG_NAME=${image_name}
    envsubst < ${image_name}.yaml | kubectl --kubeconfig ~/.kube-rz/config apply -f -

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

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

相关文章

MySQL的存储引擎与基本使用讲解

目录 一、前言 1.MySQL的介绍 二、存储引擎 1.什么是存储引擎 2.常见存储引擎 2.1.InnoDB(MySQL默认引擎) 2.1.1.四种隔离级别 2.2.MyISAM存储引擎 2.3.Memory存储引擎 3.ACID事务 三、CRUD操作 1.插入数据 2.查询数据 3.修改数据 4.删除数据 四、数据库 1.默认…

Matlab 校正镜头畸变图像

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 生活中一些针孔相机会给图像带来严重的失真,这主要是由于硬件和环境的因素所示导致的,其中主要的两种畸变是径向畸变和切向畸变。 径向畸变会导致直线看起来弯曲,即点距离图像中心越远,径向畸变就越大。例如,下…

RS485信号协议

在电子行业中&#xff0c;信号协议有很多&#xff0c;包括I2C&#xff0c;SPI&#xff0c;USB&#xff0c;UART&#xff0c;RS485等等&#xff0c;每个协议都有自己的特点和应用场景。 其中的RS485协议就是一种在电路板设计中非常常见的协议&#xff0c;是美国电子工业协会&…

k8s1.19使用ceph15 rbd块存储

一、ceph集群操作 #创建rbd #创建存储池,指定pg和pgp的数量, pgp是对存在于pg的数据进行组合存储,pgp通常等于pg的值 # 创建存储池 ceph osd pool create kubernetes 128 128#对存储池启用 RBD 功能 ceph osd pool application enable kubernetes rbd#通过 RBD 命令对存储池…

【微信小程序开发】第 9 课 - 小程序的协同工作和发布

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 &#xff01; 时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、协同工作 1.1、了解权限管理需求 1.2、了解项目成员的组织结构 1.3、小程序的开发流程 2、小程序成员管理 2.1、成员管…

解决uni-app微信小程序底部输入框,键盘弹起时页面整体上移问题

存在问题 做了一个记录页面&#xff08;类似单方聊天页&#xff09;&#xff0c;输入框在底部&#xff1b;当弹出键盘时&#xff0c;页面整体上移&#xff0c;页面头信息会消失不见 需要实现效果&#xff1a; 比如一个记录页面&#xff0c;需要在键盘弹出时&#xff1a; 底…

还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS!

本文介绍策略模式的具体应用以及Map函数式接口如何 “更完美” 的解决 if-else的问题。 需求 最近写了一个服务&#xff1a;根据优惠券的类型resourceType和编码resourceId来 查询 发放方式grantType和领取规则 实现方式&#xff1a; 根据优惠券类型resourceType -> 确定查…

数据结构 | 二叉排序树

一、数据结构定义 /* 二叉排序树 */ typedef int TreeType; typedef struct BSTNode {TreeType data;struct BSTNode* lchild, * rchild; }*BSTree, BSTNode;二、方法概览 BSTNode* CreateTreeNode(TreeType data); // 创建二叉树结点 BSTNode* InsertTree(TreeType data, BS…

5个网站帮你找到免费优质的视频素材

5个免费可商用视频素材网站&#xff0c;建议收藏&#xff01; 潮点视频 https://shipin520.com/shipin-mb/all-def-267-all-all-all-all-all-0-1.html?from_code2510 潮点视频是一个提供优质高清、无水印的视频素材网站&#xff0c;站内有大量的AE模板、PR模板、实拍素材、视…

Dinky:问题总结

一、启动时指定flink版本&#xff0c;因为dinky本身也集成了部分flink ./auto.sh start 1.12 二、数据源管理新增mysql时的url jdbc:mysql://ip:3306/dinky?useUnicodetrue&characterEncodingutf8&useSSLfalse&autoReconnecttrue&failOverReadOnlyfalse 不要…

【Java高级语法】(十三)注解:解码程序设计中的元数据利器,在小小的@符里挖呀挖呀挖~用小小的注解做强大的开发...

Java高级语法详解之注解 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 元注解3.2 自定义注解3.3 常用内置注解 4️⃣ 应用场景5️⃣ 底层原理6️⃣ 扩展&#xff1a;那些流行框架中的注解&#x1f33e; 总结 1️⃣ 概念 Java 注解&#xff08;Annotation&#xff09; 是Java语言中…

【Java】顺序表ArrayList

文章目录 一、顺序表二、ArrayList 的简介三、ArrayList 的使用3.1 构造方法3.2 常见操作3.3 遍历方法3.4 扩容机制 四、ArrayList 的模拟实现五、ArrayList 的使用案例5.1 扑克牌案例5.2 杨辉三角案例 六、ArrayList 存在的问题 一、顺序表 顺序表&#xff08;Sequential Lis…