一. 简述: 

  使用 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

4. jenkins上配置: 

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

创建cloud: 

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

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

                         深耕运维行业多年,擅长运维体系建设,方案落地。欢迎交流!

                                                    V: ywjw996

                                                    《 运维经纬 》 

更多推荐