windows下K8s挂载本地路径作为持久化存储踩坑(瞎玩

结论

挂不上
能挂

背景

在docker desktop上开启k8s,以mysql为例,把data文件夹映射到本地文件夹作为持久化保存,在docker上可以直接-v,k8s就通过挂载PV的方式。尝试了网上几种方案:
a.直接挂载,由于docker desktop是基于wsl的,路径其实都在docker-desktop-data里面,都是虚拟的,不管挂载哪个路径,本地都查不到(有些说在wsl的mnt下面可以,也没得
b.windows文件共享,其实是smb协议,要装一个插件,但是好像只适配老版本的k8s(懒得装
c.开启nfs挂载,用vmware弄了一个linux虚拟机开启nfs,配置完了实际本地文件也没有

一种可行方案,比较麻烦

把同一个pvc挂载到2个容器共享,一个容器是mysql服务,一个容器用nginx开启文件服务,把pv的数据通过文件服务备份(遇到权限问题,暂时未解决。

参考评论区的回复,其实就是方案a,可能之前挂载的时候没有重启pv和pod导致没关联上。改用hostPath,路径修改为/run/desktop/mnt/host/<dist>/<dir>就可以了。如下创建了一个mysql的pv
在这里插入图片描述

顺便一提,SQL Server(MSSQL)挂载数据路径/var/opt/mssql,需要先把数据文件复制到本地再重新挂载到对应路径,不然无法启动~~

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值