jenkins-k8s pod方式动态生成slave节点

一. 简述:

使用 Jenkins 和 Kubernetes (k8s) 动态生成 Slave 节点是一种高效且灵活的方式来管理 CI/CD 流水线。通过这种方式,Jenkins 可以根据需要在 Kubernetes 集群中创建和销毁 Pod 来执行任务,从而充分利用集群资源并实现更好的隔离性和安全性。

二. 环境部署:

  1. k8s 集群环境。

  2. 安装Kubernetes Plugin 。

  3. 配置Kubernetes 权限凭证:

    cat jenkins-pipline.yaml

    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: jenkins-pipline
    namespace: jenkins-pipline


    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
    name: jenkins-pipline
    roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-admin
    subjects:

    • kind: ServiceAccount
      name: jenkins-pipline
      namespace: jenkins-pipline

    apiVersion: v1
    kind: Secret
    metadata:
    annotations:
    kubernetes.io/service-account.name: jenkins-pipline
    name: jenkins-pipline
    namespace: jenkins-pipline
    type: kubernetes.io/service-account-token

获取证书凭据:

复制代码
kubectl get secrets -n jenkins-pipline -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='jenkins-pipline')].data.token}" | base64 -d
  1. jenkins上配置:

创建凭据:选择上面的证书凭据 :

创建cloud:

打开: 系统管理----节点和cloud-----create:

选择之前的凭据。 测试OK:

相关推荐
她说彩礼65万34 分钟前
C# AutoResetEvent和ManualResetEvent
java·jvm·c#
roman_日积跬步-终至千里36 分钟前
【Docker多节点部署】基于“配置即身份“理念的 Docker 多节点 StarRocks 高可用集群自动化部署方案
java·docker·微服务
先知后行。2 小时前
C/C++八股文
java·开发语言
Yeats_Liao2 小时前
时序数据库系列(五):InfluxDB聚合函数与数据分析
java·后端·数据分析·时序数据库
又是忙碌的一天3 小时前
Java IO流
java·开发语言
程序员buddha3 小时前
springboot-mvc项目示例代码
java·spring boot·mvc
LSL666_3 小时前
5 Repository 层接口
android·运维·elasticsearch·jenkins·repository
不懂英语的程序猿3 小时前
【Java 工具类】Java通过 TCP/IP 调用斑马打印机(完整实现)
java
多多*5 小时前
分布式系统中的CAP理论和BASE理论
java·数据结构·算法·log4j·maven
sg_knight5 小时前
Docker 实战:如何限制容器的内存使用大小
java·spring boot·spring·spring cloud·docker·容器·eureka