How to fix "DOBS Pod Owner" linter error in an existing kubernetes cluster
I was hoping to upgrade my DigitalOcean kubernetes cluster, but have the following linting error: https://docs.digitalocean.com/products/kubernetes/resources/clusterlint-errors/#dobs-pod-owner
I followed a tutorial at the time which did NOT set up a StatefulSet for my PVC, which is why I am getting this error.
I have the following files:
# postgres-storage.yml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: postgres-pv-claim labels: app: postgres spec: storageClassName: do-block-storage accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
# postgres.yml apiVersion: v1 kind: Service metadata: name: postgres labels: app: postgres spec: ports: - port: 5432 selector: app: postgres --- apiVersion: apps/v1 kind: Deployment metadata: name: postgres spec: selector: matchLabels: app: postgres replicas: 1 template: metadata: labels: app: postgres spec: containers: - name: postgres image: postgres:9.6 imagePullPolicy: "IfNotPresent" ports: - containerPort: 5432 env: - name: POSTGRES_USER valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: postgres-credentials key: POSTGRES_PASSWORD volumeMounts: - mountPath: /var/lib/postgresql/data name: postgredb subPath: postgres volumes: - name: postgredb persistentVolumeClaim: claimName: postgres-pv-claim
I would like to upgrade my cluster, but am unsure how to fix this issue without breaking postgres.
The example (https://docs.digitalocean.com/products/kubernetes/how-to/add-volumes/) seems to add a StatefulSet with a busybox image, so should I just use my postgres image here instead?
I guess what I am a bit confused by is the example under Define the Pod looks like what I want in my
postgres.yml, but then I don’t know how to set up the StatefulSet from above without all the
busybox stuff (since I assume I no longer want my postgres there).