Mysql 持久卷的Kubernetes存储位置在哪里?
我正在学习Kubernetes并尝试按照以下教程创建Mysql数据库: 到目前为止,我一直在使用Docker和Docker compose来完成我所有的开发和生产工作 使用Docker Desktop(在Mac上)的Kubernetes单主节点集群,我能够让示例工作并与Mysql交互,创建一个表并填充一些数据。删除资源并重试后,数据保持不变,我能够在重新安装部署、服务、PV和PVC后立即访问数据。成功连接应用程序的先决条件 然而,在我的一生中,我无法找出数据在笔记本电脑本地文件系统中的实际存储位置。这些示例中只列出了2个文件路径。部署中的一个(我假设它是容器的内部文件系统,类似于Docker的容器内部路径): 以及持久卷路径(我假设它是docker的主机系统等效文件路径): 我的问题是:我的笔记本电脑上找不到这两条路径中的任何一条/尽管PV仍然处于活动状态,但mnt/数据并不直接存在于我的笔记本电脑的根目录中(我原本希望它存在于此),而且我看不到kubernetes群集、节点或pod在我的文件系统上的任何位置。我的笔记本电脑上的数据存储在哪里??这不一定是一件实际有用的事情,但要想更好地理解kubernetes及其工作原理,了解这一点至关重要。我不愿意也无法继续学习kubernetes,直到我能够找出数据在主机文件系统上的物理存储位置 我看到另一个问题是“SSH到运行PV资源的节点”,但我觉得这是指一个分布式云系统,其中节点存在于单独的服务器上,并且如上所述,我找不到本地运行的一个主节点的装载路径。其他一切似乎都指向PV和PVC上没有用处的官方文档Mysql 持久卷的Kubernetes存储位置在哪里?,mysql,docker,kubernetes,storage,persistent-volumes,Mysql,Docker,Kubernetes,Storage,Persistent Volumes,我正在学习Kubernetes并尝试按照以下教程创建Mysql数据库: 到目前为止,我一直在使用Docker和Docker compose来完成我所有的开发和生产工作 使用Docker Desktop(在Mac上)的Kubernetes单主节点集群,我能够让示例工作并与Mysql交互,创建一个表并填充一些数据。删除资源并重试后,数据保持不变,我能够在重新安装部署、服务、PV和PVC后立即访问数据。成功连接应用程序的先决条件 然而,在我的一生中,我无法找出数据在笔记本电脑本地文件系统中的实际存储
有人能告诉我mysql数据应该在哪里吗?Mac上的Docker Desktop运行。查看
hostPath.path
,您的回答是正确的-它就存储在那里。但是因为docker/Kubernetes在VM内部,所以路径是相对的
要亲眼看到这一点有点棘手,Docker Desktop没有提供进入虚拟机的指南。社区也有。一个简单的方法是docker-run-it--rm--privileged--pid=host-justincormack/nsenter1
。该命令在docker中运行一个容器,该容器在包含docker守护进程的VM上获取一个shell
至于这在你的笔记本电脑上的位置,你可以按照首选项>资源>高级将显示磁盘映像文件在笔记本电脑上的物理位置。我建议使用在Docker中引导Kubernetes群集。非常感谢!这是非常有用的,正是我想要的!
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
hostPath:
path: "/mnt/data"