在 Kubernetes 中创建 MySQL 数据库可以帮助您更方便地管理 MySQL 容器,并使数据更加安全。本文将演示如何使用 Kubernetes 创建一个 MySQL 数据库容器。
apiVersion: v1kind: Podmetadata:name: mysql-podlabels:app: mysqlspec:containers:- name: mysqlimage: mysqlenv:- name: MYSQL_ROOT_PASSWORDvalue: "123456"ports:- containerPort: 3306volumeMounts:- name: mysql-datamountPath: /var/lib/mysqlvolumes:- name: mysql-datapersistentVolumeClaim:claimName: mysql-pvc
该 YAML 文件创建了一个包含 MySQL 容器的 Pod,其中有一个名为“mysql”的容器。容器使用 MySQL 官方镜像,并通过环境变量设置 MySQL 的 root 密码。容器的端口为 3306,且使用了一个名为“mysql-data”的持久化卷。
由于 Pod 是一个 ephemeral 的实体,故需要使用持久化卷来保存 MySQL 数据。可以通过 PersistentVolumeClaim(PVC)来请求持久化卷。下面是一个 PVC 的 YAML 文件。
apiVersion: v1kind: PersistentVolumeClaimmetadata:name: mysql-pvcspec:accessModes:- ReadWriteOnceresources:requests:storage: 1Gi
该 YAML 文件创建了一个名为“mysql-pvc”的 PersistentVolumeClaim,它请求了 1GB 的存储空间,并声明了存储卷的读写方式为“ReadWriteOnce”。
最后,使用 kubectl 命令来创建 Pod 和 PVC:
kubectl create -f mysql-pod.yamlkubectl create -f mysql-pvc.yaml
完成后,您可以使用 kubectl 命令验证 Pod 和 PVC 是否已成功创建:
kubectl get pod mysql-podkubectl get pvc mysql-pvc
到此为止,您已经成功地使用 Kubernetes 创建了一个 MySQL 数据库容器,并保存了数据到持久化卷中。