apiVersion: v1 kind: Service metadata: name: mysql-service namespace: smartbuilding-namespace labels: app: mysql spec: ports: - port: 3306 targetPort: 3306 clusterIP: None selector: app: mysql --- apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv namespace: smartbuilding-namespace labels: type: local spec: storageClassName: manual capacity: storage: 1Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data/mysql" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc namespace: smartbuilding-namespace spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mysql-statefulset namespace: smartbuilding-namespace spec: serviceName: "mysql-service" replicas: 1 selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:8.0 env: - name: MYSQL_ROOT_PASSWORD value: "cytech0001" - name: MYSQL_DATABASE value: "user" ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql - name: mysql-initdb mountPath: /docker-entrypoint-initdb.d volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pvc - name: mysql-initdb configMap: name: mysql-initdb-config