| # SOURCE: https://install.portworx.com/?comp=pxoperator |
| |
| apiVersion: v1 |
| kind: ServiceAccount |
| metadata: |
| name: portworx-operator |
| namespace: kube-system |
| --- |
| kind: ClusterRole |
| apiVersion: rbac.authorization.k8s.io/v1 |
| metadata: |
| name: portworx-operator |
| rules: |
| - apiGroups: ["*"] |
| resources: ["*"] |
| verbs: ["*"] |
| --- |
| kind: ClusterRoleBinding |
| apiVersion: rbac.authorization.k8s.io/v1 |
| metadata: |
| name: portworx-operator |
| subjects: |
| - kind: ServiceAccount |
| name: portworx-operator |
| namespace: kube-system |
| roleRef: |
| kind: ClusterRole |
| name: portworx-operator |
| apiGroup: rbac.authorization.k8s.io |
| --- |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: portworx-operator |
| namespace: kube-system |
| spec: |
| strategy: |
| rollingUpdate: |
| maxSurge: 1 |
| maxUnavailable: 1 |
| type: RollingUpdate |
| replicas: 1 |
| selector: |
| matchLabels: |
| name: portworx-operator |
| template: |
| metadata: |
| labels: |
| name: portworx-operator |
| spec: |
| containers: |
| - name: portworx-operator |
| imagePullPolicy: Always |
| image: portworx/px-operator:23.10.5 |
| command: |
| - /operator |
| - --verbose |
| - --driver=portworx |
| - --leader-elect=true |
| env: |
| - name: OPERATOR_NAME |
| value: portworx-operator |
| - name: POD_NAME |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.name |
| affinity: |
| podAntiAffinity: |
| requiredDuringSchedulingIgnoredDuringExecution: |
| - labelSelector: |
| matchExpressions: |
| - key: "name" |
| operator: In |
| values: |
| - portworx-operator |
| topologyKey: "kubernetes.io/hostname" |
| serviceAccountName: portworx-operator |
| # NOTE(mnaser): Add this to keep running on control plane |
| nodeSelector: |
| openstack-control-plane: enabled |