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:

相关推荐
乡野码圣5 分钟前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言9 分钟前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机1 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
小酒窝.2 小时前
【多线程】多线程打印1~100
java·多线程
君爱学习2 小时前
基于SpringBoot的选课调查系统
java
APIshop2 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库
血小板要健康2 小时前
Java基础常见面试题复习合集1
java·开发语言·经验分享·笔记·面试·学习方法
淼淼7632 小时前
安装jdk1.8
java·开发语言
毕设源码-朱学姐3 小时前
【开题答辩全过程】以 高校食堂餐饮管理系统的设计与实现为例,包含答辩的问题和答案
java
过期动态3 小时前
Java开发中的@EnableWebMvc注解和WebMvcConfigurer接口
java·开发语言·spring boot·spring·tomcat·maven·idea