--- apiVersion: apps/v1 kind: StatefulSet metadata: name: zuul-scheduler labels: app.kubernetes.io/name: "zuul" app.kubernetes.io/component: "zuul-scheduler" spec: replicas: 1 serviceName: "zuul-scheduler" selector: matchLabels: app.kubernetes.io/name: "zuul" app.kubernetes.io/component: "zuul-scheduler" template: metadata: labels: app.kubernetes.io/name: "zuul" app.kubernetes.io/component: "zuul-scheduler" spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: "app.kubernetes.io/name" operator: In values: - "zuul" - key: "app.kubernetes.io/component" operator: In values: - "zuul-scheduler" topologyKey: "kubernetes.io/hostname" containers: - name: "scheduler" image: "zuul/zuul-scheduler" args: ["/usr/local/bin/zuul-scheduler", "-f", "-d"] resources: limits: cpu: "2" memory: "2G" requests: cpu: "100m" memory: "200Mi" securityContext: runAsUser: 10001 runAsGroup: 10001 volumeMounts: - name: "zuul-config" mountPath: "/etc/zuul" readOnly: true - name: "zookeeper-client-tls" mountPath: "/tls/client" readOnly: true - name: "zuul-config-data" mountPath: "/etc/zuul-config" - name: "zuul-scheduler-state-dir" mountPath: "/var/lib/zuul" serviceAccountName: "zuul" volumes: - name: "zuul-config" secret: secretName: "zuul-config" - name: "zookeeper-client-tls" secret: secretName: "zookeeper-client-tls" - name: "zuul-config-data" persistentVolumeClaim: claimName: "zuul-config" volumeClaimTemplates: - metadata: name: "zuul-scheduler-state-dir" spec: accessModes: - "ReadWriteOnce" storageClassName: "csi-disk" resources: requests: storage: "5G"