ZBLOG

k8s yaml mysql挂载目录

在 Kubernetes 中,要将 MySQL 挂载到某个目录下,可以通过 YAML 文件来实现。具体步骤如下:

  1. 创建一个 PVC(Persistent Volume Claim),用于声明需要挂载的存储卷。例如,创建一个名为 mysql-pvc 的 PVC:
  1. apiVersion: v1
  2. kind: PersistentVolumeClaim
  3. metadata:
  4. name: mysql-pvc
  5. spec:
  6. accessModes:
  7. - ReadWriteOnce
  8. resources:
  9. requests:
  10. storage: 10Gi

其中,accessModes 表示访问模式,这里采用 ReadWriteOnce,即只能被单个节点以读写方式挂载。resources.requests.storage 表示需要申请的存储空间大小。

  1. 创建一个 Deployment,用于部署 MySQL 实例。在 spec.template.spec.containers.volumeMounts 中设置挂载的目标路径,例如 /var/lib/mysql:
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: mysql
  5. spec:
  6. selector:
  7. matchLabels:
  8. app: mysql
  9. template:
  10. metadata:
  11. labels:
  12. app: mysql
  13. spec:
  14. containers:
  15. - name: mysql
  16. image: mysql:5.7
  17. env:
  18. - name: MYSQL_ROOT_PASSWORD
  19. value: password
  20. ports:
  21. - containerPort: 3306
  22. volumeMounts:
  23. - name: mysql-data
  24. mountPath: /var/lib/mysql
  25. volumes:
  26. - name: mysql-data
  27. persistentVolumeClaim:
  28. claimName: mysql-pvc

其中,volumes 定义了挂载的卷,name 表示卷名称,persistentVolumeClaim.claimName 表示使用的 PVC 名称。containers.volumeMounts 定义了容器内部挂载的目录,name 表示卷名称,mountPath 表示目标路径。

  1. 应用 YAML 文件:
  1. kubectl apply -f mysql.yaml
  1. 查看 Pod 信息:
  1. kubectl get pod

可以看到 MySQL 的 Pod 已经处于运行状态。

  1. 连接 MySQL 数据库:

在应用程序中,使用以下命令连接 MySQL 数据库:

  1. mysql -h <service-name> -u root -p

其中,service-name 是 Kubernetes 中定义的 Service 名称。这样就可以访问 MySQL 数据库,并将数据存储在已挂载的目录下。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1943

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?