apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql labels: app: mysql component: database spec: serviceName: mysql replicas: 1 selector: matchLabels: app: mysql template: metadata: labels: app: mysql component: database spec: containers: - name: mysql image: mysql:8.0 ports: - containerPort: 3306 name: mysql env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-secret key: root-password - name: MYSQL_DATABASE value: "inventory" - name: MYSQL_USER valueFrom: secretKeyRef: name: mysql-secret key: user - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: mysql-secret key: password volumeMounts: - name: mysql-data mountPath: /var/lib/mysql resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m" livenessProbe: exec: command: - mysqladmin - ping - -h - localhost - -u - root - -p$(MYSQL_ROOT_PASSWORD) initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 readinessProbe: exec: command: - mysql - -h - localhost - -u - root - -p$(MYSQL_ROOT_PASSWORD) - -e - SELECT 1 initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 volumeClaimTemplates: - metadata: name: mysql-data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi