# Deployment description apiVersion: apps/v1 kind: Deployment metadata: name: mysql--deployment namespace: dev-environment labels: app: mysql-dev spec: strategy: type: Recreate replicas: 1 selector: matchLabels: app: mysql-dev template: metadata: labels: app: mysql-dev spec: containers: - name: mysql image: mysql:8.0 resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "4" ports: - containerPort: 3306 envFrom: - configMapRef: name: mysql-config volumeMounts: - mountPath: /var/lib/mysql name: mysqldb-pv-dev subPath: mysql volumes: - name: mysqldb-pv-dev persistentVolumeClaim: claimName: mysql-pvc-dev --- # Persistent Volume Claim description apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc-dev namespace: dev-environment labels: app: mysql-dev spec: storageClassName: longhorn accessModes: - ReadWriteOnce resources: requests: storage: 2Gi --- # ConfigMap description apiVersion: v1 kind: ConfigMap metadata: name: mysql-config namespace: dev-environment labels: app: mysql-dev data: MYSQL_ROOT_PASSWORD: Semapp123456! MYSQL_DATABASE: mysql MYSQL_USER: mysqluser MYSQL_PASSWORD: Semapp123456! --- # Mysql StatefulSet Service apiVersion: v1 kind: Service metadata: name: mysql-lb namespace: dev-environment spec: selector: app: mysql-dev type: LoadBalancer ports: - port: 3306 targetPort: 3306 ---