在Kubernetes(簡稱K8s)中,使用MySQL進行數據存儲是一種很常見的做法。下面我們就來看看該如何在K8s中使用MySQL進行數據存儲。
首先需要在K8s中創建一個名為“mysql-pv”的持久化卷。
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: local-storage local: path: /mnt/data/mysql
接下來,創建一個名為“mysql-pvc”的持久化卷聲明。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: local-storage
然后創建名為“mysql”的Deployment。
apiVersion: apps/v1 kind: Deployment metadata: name: mysql spec: selector: matchLabels: app: mysql replicas: 1 template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.7 env: - name: MYSQL_ROOT_PASSWORD value: secret ports: - containerPort: 3306 protocol: TCP volumeMounts: - name: mysql-pv mountPath: /var/lib/mysql volumes: - name: mysql-pv persistentVolumeClaim: claimName: mysql-pvc
最后創建名為“mysql-service”的Service。
apiVersion: v1 kind: Service metadata: name: mysql-service spec: selector: app: mysql ports: - name: mysql port: 3306 targetPort: 3306 type: ClusterIP
通過以上步驟,我們就完成了使用MySQL進行數據存儲的部署工作。如果需要使用MySQL進行數據存儲,只需要通過“mysql-service”Service的hostname和端口連接即可。在K8s中,MySQL數據的備份與恢復可以通過Kubernetes資源自動處理,非常方便。