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:

相关推荐
叫我阿柒啊7 分钟前
Java全栈开发面试实战:从基础到微服务的深度解析
java·jvm·微服务·vue3·springboot·全栈开发·restfulapi
cxyxiaokui00117 分钟前
检索增强生成(RAG):打破模型知识壁垒的革命性架构
java·aigc
Monly2123 分钟前
Docker:部署Java后端
java·docker·容器
是店小二呀35 分钟前
【C++】智能指针底层原理:引用计数与资源管理机制
android·java·c++
tianyuanwo42 分钟前
技术总结:AArch64架构下Jenkins Agent(RPM容器编译节点)掉线问题分析与排查
java·linux·jenkins
weixin_456588151 小时前
【java面试day19】mysql-优化
java·mysql·面试
华仔啊2 小时前
别再问了!Java里这几种场景,用抽象类就对了
java·后端
明天过后01222 小时前
PDF文件中的相邻页面合并成一页,例如将第1页和第2页合并,第3页和第4页合并
java·python·pdf
tingting01192 小时前
Spring Boot 外部配置指定不生效的原因与解决
java·spring boot·后端
用户0332126663672 小时前
Java 设置 Excel 行高列宽:告别手动调整,拥抱自动化高效!
java·excel