首页 > 其他分享 >groovy 调整k8s的副本数定时任务

groovy 调整k8s的副本数定时任务

时间:2022-09-26 20:56:00浏览次数:56  
标签:groovy 副本 remote NAME text wxKey ENVIRONMENT k8s def

目录

groovy 调整k8s的副本数定时任务

package platform

node('ecs_wuhan_docker') {
    println "${BUILD_URL}console"
    def wxKey = 'xxxxxx'
    def proposerName = PROPOSER_NAME
    def proposerMobile = PROPOSER_MOBILE
    // pause,start
    def type = OPT_TYPE

    try {
        stage('update pod') {
            if (type == 'pause') {
                changeWorkerNumbers(ENVIRONMENT_NAME, 0)
                wxNotice("${proposerName}暂停:${ENVIRONMENT_NAME}", wxKey, proposerMobile)
                executeSql("update T_ENVIRONMENT_MANAGER set ENVIRONMENT_STATUS = 'pause' where ENVIRONMENT_NAME = '${ENVIRONMENT_NAME}'")
            } else {
                changeWorkerNumbers(ENVIRONMENT_NAME, 1)
                wxNotice("${proposerName}启动:${ENVIRONMENT_NAME}", wxKey, proposerMobile)
                executeSql("update T_ENVIRONMENT_MANAGER set ENVIRONMENT_STATUS = 'running', UPDATE_DATE = NOW() where ENVIRONMENT_NAME = '${ENVIRONMENT_NAME}'")
            }
        }
    } catch (e) {
        wxFailNotice(wxKey, proposerName)
        throw e
    } finally {
        println "${BUILD_URL}console"
        deleteDir()
    }
}


def executeSql(sql) {
    def remote = [:]
    remote.name = 'mysqlServer'
    remote.host = "192.168.61.52"
    remote.allowAnyHosts = true
    remote.user = "root"
    remote.password = "A09QXN2Ds1w5NDSN"

    sshCommand remote: remote, failOnError: false, command: "mysql -uroot -pYuaNian@2999! -D ecs-cicd -e \"${sql}\""
}


def wxFailNotice(wxKey, proposerName) {
    def text = "<font color=info>【${proposerName}的${JOB_NAME}】</font>修改副本数<font color=warning>失败!!!</font>\\n >[查看控制台](${CICD_SERVER_URL}'/pipeline/job/consolesHTML/'${jobName}'/'${BUILD_NUMBER})"
    sh """curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key='${wxKey}'' -H 'Content-Type: application/json' -d '{ "msgtype": "markdown", "markdown": { "content": "${text}", } }'"""
    sh """curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key='${wxKey}'' -H 'Content-Type: application/json' -d '{ "msgtype": "text", "text": { "mentioned_mobile_list":["18201292571"] } }'"""
}

def wxNotice(msg, wxKey, proposerMobile) {
    sh """
    curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${wxKey}' \
    -H 'Content-Type: application/json' \
    -d '
       {
         "msgtype": "text",
         "text": {
             "content": "${msg}",
             "mentioned_mobile_list":["${proposerMobile}"]
         }
       }'
   """
}

def changeWorkerNumbers(environmentName, changeWorkNumber) {
    sh "rancher kubectl scale --all StatefulSet -n ${environmentName} --replicas=${changeWorkNumber} || echo 'skip'"
    sh "rancher kubectl scale --all deployment -n ${environmentName} --replicas=${changeWorkNumber}"
}

标签:groovy,副本,remote,NAME,text,wxKey,ENVIRONMENT,k8s,def
From: https://www.cnblogs.com/liwenchao1995/p/16732430.html

相关文章

  • clickhouse高可用k8s集群搭建
    前提条件安装一个k8s集群安装helm工具1,安装operatorhelmrepoaddckhttps://radondb.github.io/radondb-clickhouse-kubernetes/helmrepoupdatekubectlcreaten......
  • K8S入门详细地教程
    Kubernetes详细教程1.Kubernetes介绍1.1应用部署方式演变在部署应用程序的方式上,主要经历了三个时代:传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单......
  • k8s将dockershim移除之后,如何继续使用docker?
    说说这个前提,就是k8s宣布将dockershim给移除了这么个点 为什么要移除 说白了,就是k8s是想建立标准的,通过的CRI,容器运行的接口,不仅仅可以支持docker,还可以支持其他的......
  • K8S系列(四)——常用命令汇总
    【前言】  K8S虽然可以通过dashboard等图形化界面去管理,但是一些常用命令我们还是要记下。为了方便查看,命令按照资源类型的各种操作命令来分类,部分命令可能会存在重复情......
  • K8s 网络插件 Calico 报错:Number of node(s) with BGP peering established = 0
    问题现象calico对应的Pod启动失败,报错:Numberofnode(s)withBGPpeeringestablished=0问题分析Calico提供了IP自动检测的方法,默认是使用第一个有效网卡上......
  • 基于外部prometheus监控k8s 集群及k8s应用服务
    一、在k8s集群外部准备一个Prometheus监控系统搭建部署可参考:https://www.cnblogs.com/cyh00001/p/16701266.html二、创建用户并授权catcase4-prom-rbac.yamlapiVers......
  • 【云原生】Hadoop on k8s 环境部署
    目录一、概述二、开始部署1)添加源2)构建镜像Dockerfile2)修改配置3)开始安装5)测试验证6)卸载一、概述Hadoop是Apache软件基金会下一个开源分布式计算平台,以HDFS(HadoopDist......
  • K8S集群网络划分
     K8s集群网络划分 安装K8S集群安装时会涉及到三个网段:宿主机网段:就是安装k8s的服务器Pod网段:k8sPod的网段,相当于容器的IPService网段:k8sservice网段,service用于......
  • k8s:截止2022.09.23(当前最新)的k8s软件版本支持docker容器引擎的情况:汇总信息
      ...toonewtoosupport!Kubernetes1.24.6+-->Docker版本removethedependencyonDocker!!!Withthedockershimremoval,coreKubernetesnolongerhasto......
  • HDFS基本架构与副本备份
    HDFS官方架构图,清晰明了主角色,要注意的是NameNode因为它的特性使得它是HDFS的唯一访问入口主角色辅助角色,要注意的是SecondaryNameNode不是NameNode的备份,而是它的"......