apiVersion: v1 kind: Namespace metadata: name: jenkins --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: jenkins namespace: jenkins spec: accessModes: - ReadWriteOnce storageClassName: nfs-storage resources: requests: storage: 200Gi --- apiVersion: v1 kind: ServiceAccount metadata: name: jenkins namespace: jenkins --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: jenkins-crb roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: jenkins namespace: jenkins --- apiVersion: apps/v1 kind: Deployment metadata: name: jenkins-master namespace: jenkins spec: replicas: 1 selector: matchLabels: devops: jenkins-master template: metadata: labels: devops: jenkins-master spec: serviceAccount: jenkins #Pod 需要使用的服务账号 initContainers: - name: fix-permissions image: busybox command: ["sh", "-c", "chown -R 1000:1000 /var/jenkins_home"] securityContext: privileged: true volumeMounts: - name: jenkinshome mountPath: /var/jenkins_home containers: - name: jenkins # image: jenkinsci/blueocean:1.25.2 image: jenkinsci/blueocean:latest imagePullPolicy: IfNotPresent ports: - name: http #Jenkins Master Web 服务端口 containerPort: 8080 - name: slavelistener #Jenkins Master 供未来 Slave 连接的端口 containerPort: 50000 volumeMounts: - name: jenkinshome mountPath: /var/jenkins_home env: - name: JAVA_OPTS value: "-Xms4096m -Xmx5120m -Duser.timezone=Asia/Shanghai -Dhudson.model.DirectoryBrowserSupport.CSP=" volumes: - name: jenkinshome persistentVolumeClaim: claimName: jenkins --- apiVersion: v1 kind: Service metadata: name: jenkins namespace: jenkins spec: ports: - name: http port: 8080 targetPort: 8080 - name: slavelistener port: 50000 targetPort: 50000 type: ClusterIP selector: devops: jenkins-master --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: jenkins-web namespace: jenkins spec: ingressClassName: nginx rules: - host: jenkins.pod.opsbase.cn http: paths: - path: / pathType: Prefix backend: service: name: jenkins port: number: 8080