apiVersion: v1 kind: Service metadata: name: mysql labels: app: mysql spec: ports: - port: 3306 name: db type: ClusterIP selector: app: mysql --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql spec: selector: matchLabels: app: mysql # has to match .spec.template.metadata.labels serviceName: "mysql" replicas: 1 template: metadata: labels: app: mysql # has to match .spec.selector.matchLabels spec: terminationGracePeriodSeconds: 10 containers: - name: mysql image: mysql:5.7 ports: - containerPort: 3306 name: db env: - name: MYSQL_DATABASE valueFrom: secretKeyRef: name: wordpress key: WORDPRESS_DB_PASSWORD - name: MYSQL_USER valueFrom: secretKeyRef: name: wordpress key: WORDPRESS_DB_USER - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: wordpress key: WORDPRESS_DB_PASSWORD - name: MYSQL_RANDOM_ROOT_PASSWORD value: "1" volumeMounts: - name: db mountPath: /var/lib/mysql volumeClaimTemplates: - metadata: name: db spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "standard" resources: requests: storage: 500Mi