apiVersion: apps/v1 kind: Deployment metadata: name: jenkins namespace: jenkins spec: replicas: 1 selector: matchLabels: app: jenkins template: metadata: labels: app: jenkins name: jenkins app.kubernetes.io/name: jenkins spec: securityContext: fsGroup: 1000 runAsUser: 0 nodeSelector: nodetype: worker initContainers: - name: jenkins-init image: jenkins/jenkins:2.504.1-lts-jdk21 command: - sh - -c - | jenkins-plugin-cli --plugin-file ./plugin.txt cp -r -p /usr/share/jenkins/ref/plugins/. /var/jenkins_home/plugins/. env: - name: TZ value: "America/Los_Angeles" volumeMounts: - name: jenkins-vol mountPath: /var/jenkins_home - name: jenkins-plugins-config mountPath: /var/jenkins_home/plugin-config containers: - name: jenkins image: jenkins/2.504.1-lts-jdk21 env: - name: TZ value: "America/Los_Angeles" ports: - name: http-port containerPort: 8080 - name: jnlp-port containerPort: 50000 resources: limits: cpu: "1" memory: "1Gi" requests: cpu: "0.5" memory: "512Mi" volumeMounts: - name: jenkins-vol mountPath: /var/jenkins_home volumes: - name: jenkins-vol persistentVolumeClaim: claimName: jenkins-storage-nfs - name: jenkins-plugins-config configMap: name: jenkins-plugins strategy: type: Recreate