因为jenkins是独立部署的,所以这种方式发布pod到k8s上,我想到的是提高jenkins用户权限(以root用户启动jenkins)来使用kubectl命令
编写资源清单
应用 secret
kubectl create secret docker-registry harbor-registry --docker-server=192.168.1.112 --docker-username=admin --docker-password=harbor123 --docker-email=admin@qq.com
|
statefulset
apiVersion: apps/v1 kind: StatefulSet metadata: name: cloud-eureka spec: replicas: 1 selector: matchLabels: app: eureka serviceName: cloud-eureka template: metadata: labels: app: eureka spec: imagePullSecrets: - name: harbor-registry containers: - name: eureka-server image: 192.168.1.112/ocp/eureka-server imagePullPolicy: IfNotPresent ports: - containerPort: 1111
|
svc
apiVersion: v1 kind: Service metadata: name: cloud-eureka spec: type: NodePort ports: - port: 1111 targetPort: 1111 selector: app: eureka
|
编写pipeline
pipeline { agent any stages { stage('apply statefulset') { steps { sh "kubectl apply -f /vagrant/ocp/eureka/test.yaml" } } stage('apply svc') { steps { sh "kubectl apply -f /vagrant/ocp/eureka/test1.yaml" } } } }
|
