apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql namespace: react-mysql spec: serviceName: mysql replicas: 1 selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:8.0 ports: - containerPort: 3306 envFrom: - configMapRef: name: app-config - secretRef: name: app-secret env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: app-secret key: MYSQL_ROOT_PASSWORD volumeMounts: - name: mysql-data mountPath: /var/lib/mysql - name: mysql-init mountPath: /docker-entrypoint-initdb.d resources: requests: cpu: 250m memory: 512Mi limits: cpu: 500m memory: 1Gi readinessProbe: exec: command: ["mysqladmin", "ping", "-h", "localhost"] initialDelaySeconds: 20 periodSeconds: 10 livenessProbe: exec: command: ["mysqladmin", "ping", "-h", "localhost"] initialDelaySeconds: 40 periodSeconds: 20 volumes: - name: mysql-init configMap: name: mysql-init-sql volumeClaimTemplates: - metadata: name: mysql-data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 2Gi