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

这篇具有很好参考价值的文章主要介绍了springcloud+docker+k8s发布安装第三方插件脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

springcloud+docker+k8s发布安装第三方插件脚本,spring cloud,docker,kubernetes文章来源地址https://www.toymoban.com/news/detail-523475.html

  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_NAME
      namespace: rz-dt
      labels:
        app: $IMG_NAME
    spec:
      type: ClusterIP #NodePort
      ports:
      - name: tcp-9311-9311
        port: 9311
        protocol: TCP
        targetPort: 9311
        #nodePort: 31051 #service对外开放端口
      selector:
        app: $IMG_NAME
    ---
    apiVersion: apps/v1
    kind: Deployment #对象类型
    metadata:
      name: $IMG_NAME #名称
      namespace: rz-dt
      labels:
        app: $IMG_NAME #标注
    spec:
      replicas: 1 #运行容器的副本数,修改这里可以快速修改分布式节点数量
      selector:
        matchLabels:
          app: $IMG_NAME
      template:
        metadata:
          labels:
            app: $IMG_NAME
        spec:
          containers: #docker容器的配置
            - name: $IMG_NAME
              image: rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt/$IMG_NAME:$IMG_TAG # pull镜像的地址 ip:prot/dir/images:tag
              imagePullPolicy: Always #pull镜像时机,
              ports:
                - containerPort: 9311 #容器对外开放端口,需与springboot配置文件一致
              volumeMounts:
                - name: time-config
                  mountPath: /etc/localtime
                  readOnly: true
                - name: volume-logs
                  mountPath: /logs
                  subPath: logs
              resources:
                limits:
                  cpu: 500m
                  memory: 1Gi
                requests:
                  cpu: 10m
                  memory: 50Mi
          #从私有仓库拉取镜像凭证
          imagePullSecrets:
            - name: rz-dt-miyue-vpc
          volumes:
            - name: time-config
              hostPath:
                path: /usr/share/zoneinfo/Asia/Shanghai
            - name: volume-logs
              persistentVolumeClaim:
                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=123
    
    echo "镜像最新版本提交"
    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 -
    
    
    

到了这里,关于springcloud+docker+k8s发布安装第三方插件脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vagrant 安装虚拟机,docker, k8s

    本机是 mac, 但是这一步不影响,找对应操作系统的安装方式就行了。 vagrant 下载地址 VirtualBox 下载地址 找到对应系统下载,安装就可以。 尽量把虚拟机和 vagrant 放到一个文件夹中,规避一些问题.后面的 vagrant 命令都要 在这个文件目录下执行。 这一步比较重要,这一步就是

    2024年04月22日
    浏览(27)
  • k8s搭建(一、环境配置与docker安装)

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 k8s搭建文章: k8s搭建(一、k8s环境配置与docker安装) k8s搭建(二、k8s组件安装) k8s搭

    2024年02月21日
    浏览(35)
  • K8S必备知识--docker的介绍以及安装

    本身是容器: 容器可以保护内容物 docker最初是dotCloud公司内部的一个业余项目,基于谷歌公司推出的Go语言实现的 以前为了实现同一台机上的各个应用隔离,采用虚拟化技术,但消耗资源过大 各应用的隔离是通过namespace的隔离来实现的 玩容器保证linux内核版本在3.8以上 use

    2024年02月03日
    浏览(34)
  • K8S系列文章之 Docker安装使用Kafka

    通过Docker拉取镜像的方式进行安装 照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行) 老实说Kafka的参数配置项太多了,比较繁琐。 如果是Linux环境下

    2024年02月13日
    浏览(32)
  • Win10下Docker Desktop+k8s安装

    先决条件 Windows 10 64 位:Home 或 Pro 2004(内部版本 19041)或更高版本,或者 Enterprise 或 Education 1909(内部版本 18363)或更高版本。 Windows 上启用 WSL 2 功能 CPU支持二级地址转换(SLAT) 4GB以上内存 设置启用硬件虚拟化支持 1.设置硬件虚拟化支持 在安装docker之前,我们先检查一

    2024年02月13日
    浏览(29)
  • 轻松掌握k8s(使用docker)安装知识点

    kubernetes具有以下特性: 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。 存储编排 Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。

    2023年04月22日
    浏览(35)
  • 二进制安装1.26版本k8s(docker)

    v1.24.0 - v1.26.0 之前支持docker,但是需要额外安装cri-docker来充当垫片 由于工作原因作者会同时使用Ubuntu和CentOS,因此本次将两个系统的K8S安装一起记录一下(与CentOS7.9、Ubuntu2004验证) 证书采用cfssl工具制作 使用二进制方式部署3主1从高可用集群 etcd采用二进制部署,复用3个管理

    2024年02月10日
    浏览(52)
  • 【云原生-K8s】kubeadm搭建安装k8s集群v1.25版本完整教程【docker、网络插件calico、中间层cri-docker】

    从 k8s 1.24开始,dockershim已经从kubelet中移除,但因为历史问题docker却不支持kubernetes主推的CRI(容器运行时接口)标准,所以docker不能再作为k8s的容器运行时了,即从k8s v1.24开始不再使用docker了 但是如果想继续使用docker的话,可以在kubelet和docker之间加上一个中间层cri-docker。

    2024年02月03日
    浏览(34)
  • 在Windows上安装Docker与k8s,完美亲测!

    1、去Docker官网下载Docker Desktop,并一键安装 2、下载k8s-for-docker-desktop包 配置docker的国内镜像,国外的网络下载可能比较慢 docker中国镜像地址: “https://registry.docker-cn.com”, 网络docker镜像地址 “http://hub-mirror.c.163.com”, ustc大学镜像地址 “https://docker.mirrors.ustc.edu.cn” 在Docker仪

    2024年02月06日
    浏览(26)
  • K8S下SpringCloud应用无损下线

    废话不多说直接上代码,一种2个步骤 步骤一: 添加以下代码到SpringCloud应用中   步骤二: 配置K8S的工作负载的preStop函数 , 如下   大功告成!从此以后应用下线再也不会丢流量了!

    2024年02月13日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包