一. 简述:
使用 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: 标签:kind,slave,name,io,jenkins,pod,k8s,pipline From: https://blog.csdn.net/gujimoxiao/article/details/145319250