springcloud+docker+k8s发布脚本

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

项目结构如图:

springcloud+docker+k8s发布脚本,python,pycharm,开发语言文章来源地址https://www.toymoban.com/news/detail-525952.html

  1. Dockerfile 文件 构建镜像: 
    #基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8
    FROM openjdk:8
    #暴露端口
    EXPOSE 9301
    #容器中创建目录
    RUN mkdir -p /usr/local/java
    #编译后的jar包copy到容器中创建到目录内 ../../realize-gateway
    COPY realize-auth.jar /usr/local/java/realize-auth.jar
    #指定容器时区
    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","/usr/local/java/realize-auth.jar"]
    
  2.  k8s realize-auth.yaml 文件:
    apiVersion: v1
    kind: Service
    metadata:
      name: $IMG_NAME
      namespace: rz-dt
      labels:
        app: $IMG_NAME
    spec:
      type: ClusterIP #NodePort
      ports:
      - name: tcp-9301-9301
        port: 9301
        protocol: TCP
        targetPort: 9301
        #nodePort: 31050 #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: 9301 #容器对外开放端口,需与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-auth
    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=1234R
    
    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模板网!

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

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

相关文章

  • k8s巡检脚本

    2024年02月04日
    浏览(29)
  • K8S系列文章之 Kind 部署K8S的 服务发布

    下载  https://github.com/kubernetes-sigs/kind/releases/download/0.17.0/kind-linux-amd64 执行以下命令:  之前需要先在本地主机安装好docker  kubectl是Kubernetes的命令行工具,可以让我们通过命令访问、操作、管理Kubernetes集群。brew安装方法如下 安装完毕后,查看kubectl版本信息,确认安装成功

    2024年02月14日
    浏览(36)
  • k8s发布应用

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

    2024年02月11日
    浏览(30)
  • 一键安装k8s脚本

    服务器配置 节点(华为云服务器) 配置 master 2vCPUs | 4GiB | s6.large.2 CentOS 7.8 64bit node1 2vCPUs | 8GiB | s6.large.4 CentOS 7.8 64bit node2 2vCPUs | 8GiB | s6.large.4 CentOS 7.8 64bit 1.master节点安装脚本:install_k8s_master.sh。 sh文件上传到服务器后执行: 安装过程中会有根据提示要求键盘输入。 安装docker过

    2024年02月12日
    浏览(37)
  • K8s集群的一键部署脚本

    使用方法: 将上述代码保存为一个sh文件,比如deploy_k8s.sh。 给deploy_k8s.sh添加执行权限: Copy 在Master节点执行deploy_k8s.sh脚本: Copy 在Worker节点执行join-command.sh脚本加入集群: Copy 注:以上脚本仅供参考,在实际使用中请根据实际情况进行调整。

    2024年02月13日
    浏览(45)
  • 批量备份k8s资源的脚本

    使用方式:执行时传入参数namespace,则会将该namespace下所有资源通过yaml方式备份

    2024年02月11日
    浏览(30)
  • k8s手动发布镜像的方法

    编辑对应的文件,并:wq!保存即可

    2024年02月14日
    浏览(32)
  • 在Kubernetes(k8s)上部署整个SpringCloud微服务应用

    视频教程地址:https://www.bilibili.com/video/BV1Xh4y1q7aW/ 这次我准备了一个微服务项目,是依照RuoYi-Cloud(http://doc.ruoyi.vip/ruoyi-cloud/)进行了一些修改所得到的微服务项目。重点是修改了如图根据不同环境添加了不同的配置文件: 项目代码地址为:https://gitcode.net/m0_51510236/yueyang-cloud 我

    2024年02月05日
    浏览(38)
  • 37.云原生之springcloud+k8s+GitOps+istio+安全实践

    云原生专栏大纲 安装gitlab,将https://gitee.com/zhouwei1996/spring-cloud-bookinfo.git迁移至gitlab gitlab中创建全局变量,如镜像仓库账号密码,保证gitlab-ci.yaml中内容安全 共享runner创建,获取token如下:glrt-wfzAecJmszsZb3GorS8J 安装gitlab-runner,参考:22.云原生之GitLab CICD实战及解析 修改ConfigM

    2024年03月22日
    浏览(74)
  • DHorse v1.4.0 发布,基于 k8s 的发布平台

    新增特性 提供Fabric8客户端操作k8s(预览)的功能,可以通过指定-Dkubernetes-client=fabric8参数开启; Vue、React应用增加Pnpm、Yarn的构建方式; 支持Go、Flask、Django、Nuxt应用部署; 优化特性 副本指标数据保存为3天; 部署Nodejs应用时可以指定端口; 忽略搜索大小写匹配; 部署页面

    2024年02月07日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包