# 01-mysql.yaml (新版) # --- 第一部分:申请一张硬盘券 (PVC) --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc # 记住这个券的名字 namespace: demo-space spec: accessModes: - ReadWriteOnce # 只能被一个节点读写 storageClassName: longhorn # K3s 默认的存储驱动,利用 VPS 本地硬盘 resources: requests: storage: 2Gi # 申请 2GB 大小 --- # --- 第二部分:数据库服务 (不变) --- apiVersion: v1 kind: Service metadata: name: mysql-service namespace: demo-space spec: ports: - port: 3306 selector: app: wordpress-mysql --- # --- 第三部分:部署数据库 (挂载硬盘) --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress-mysql namespace: demo-space spec: selector: matchLabels: app: wordpress-mysql strategy: type: Recreate # 有状态应用建议用 Recreate (先关旧的再开新的) template: metadata: labels: app: wordpress-mysql spec: containers: - image: mariadb:10.6.4-focal name: mysql env: - name: MYSQL_ROOT_PASSWORD value: "password123" - name: MYSQL_DATABASE value: "wordpress" - name: MYSQL_USER value: "wordpress" - name: MYSQL_PASSWORD value: "wordpress" ports: - containerPort: 3306 name: mysql # ▼▼▼ 重点变化在这里 ▼▼▼ volumeMounts: - name: mysql-store mountPath: /var/lib/mysql # 容器里数据库存文件的位置 volumes: - name: mysql-store persistentVolumeClaim: claimName: mysql-pvc # 使用上面定义的那张券