gpt4 book ai didi

mysql - Persistent Volume 的 Kubernetes 存储位置在哪里?

转载 作者:行者123 更新时间:2023-12-02 11:38:36 26 4
gpt4 key购买 nike

我正在学习 Kubernetes 并尝试按照以下教程创建 Mysql 数据库:
https://kubernetes.io/docs/tasks/run-application/run-single-instance-stateful-application/#:~:text=Deploy%20MySQL,MySQL%20and%20references%20the%20PersistentVolumeClaim .
到目前为止,我一直在使用 Docker 和 Docker-compose 来完成我所有的开发和生产工作。
使用 Docker Desktop(在 Mac 上)的 Kubernetes 单主节点集群,我能够使示例正常工作并与 Mysql 交互,创建表并填充一些数据。删除资源并重试后,数据仍然存在,我能够在重新安装部署、服务、PV 和 PVC 后立即访问数据。连接应用程序的成功先决条件。
但是,我终生无法找到数据实际存储在笔记本电脑本地文件系统上的位置。这些示例中仅列出了 2 个文件路径。部署中的一个(我假设它是容器的内部文件系统,类似于 Docker 的容器内部路径):

volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
以及持久卷路径(我假设它是 docker 的主机系统等效文件路径):
hostPath:
path: "/mnt/data"
我的问题是:在我的笔记本电脑上,我找不到这些路径中的任何一个。/mnt/data 不直接从我的笔记本电脑的根目录存在(我本来希望它存在的地方),尽管 PV 仍然处于事件状态,而且我看不到 kubernetes 集群、节点或 pod 安装在我的文件系统上的任何位置。这些数据存储在我的笔记本电脑上的什么位置?这不一定是一个实际有用的知识,但为了更好地理解 kubernetes 及其工作原理,了解这一点至关重要,而且我不愿意也无法继续学习 kubernetes,直到我能弄清楚 body 在哪里数据存储在主机文件系统上。
我看到另一个问题是“SSH 到运行 PV 资源的节点”,但我觉得这是在引用分布式云系统,其中节点存在于单独的服务器上,并且如上所述我找不到我的挂载路径一个本地运行的主节点。其他一切似乎都指向关于 PV 和 PVC 的无用官方文档。
谁能向我解释这个mysql数据应该在哪里?

最佳答案

Mac 上的 Docker Desktop 运行 a virtual machine to run docker inside .当您查看 hostPath.path 时,您是正确的- 那是它存储的地方。但是因为 docker/Kubernetes 在虚拟机内部,所以路径是相对的。
自己看这个有点棘手,Docker Desktop 没有提供进入 VM 的指南。社区有some options though .一个简单的方法是docker run -it --rm --privileged --pid=host justincormack/nsenter1 .该命令在 docker 内运行一个容器,该容器会在包含 docker 守护程序的 VM 上为您提供一个 shell。
至于它在你的笔记本电脑上的位置,你可以关注 docs about the disk image for the VM . 首选项 > 资源 > 高级 将显示磁盘镜像文件在笔记本电脑上的物理位置。

关于mysql - Persistent Volume 的 Kubernetes 存储位置在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63389447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com