apiVersion: v1 kind: Secret type: Opaque metadata: name: mysql-env namespace: royalcat-blog labels: app: mysql stringData: MYSQL_ROOT_PASSWORD: HuSo6WbDao9Qv3 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc namespace: royalcat-blog labels: app: mysql spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql namespace: royalcat-blog labels: app: mysql spec: serviceName: mysql replicas: 1 selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: docker.io/mysql:8.4 envFrom: - secretRef: name: mysql-env resources: requests: memory: 500Mi cpu: 300m limits: memory: 1Gi cpu: 900m ports: - name: mysql containerPort: 3306 volumeMounts: - name: mysql-volume mountPath: /var/lib/mysql readOnly: false volumes: - name: mysql-volume persistentVolumeClaim: claimName: mysql-pvc --- apiVersion: v1 kind: Service metadata: name: mysql namespace: royalcat-blog labels: app: mysql spec: type: ClusterIP selector: app: mysql ports: - name: "3306" port: 3306 protocol: TCP targetPort: 3306