将目录复制到 minikube 中并保存它们
Copying directories into minikube and persisting them
我正在尝试将一些目录复制到 minikube VM 中,以供 运行 中的一些 pods 使用。其中包括 API 应用程序在 运行 时间使用的凭据文件和模板文件。我发现您可以使用 scp 将文件复制到 /home/docker/
目录中,但是这些文件不会在 VM 重新启动后保留。我读过 files/directories are persisted if stored in the /data/
directory on the VM (among others) 但是我在尝试将文件复制到这些目录时得到 permission denied
。
有没有:
A:minikube 中的任何目录将保留不受这种方式保护的数据
B:在没有 运行 解决此问题的情况下执行上述操作的任何其他方法(很可能以错误的方式解决此问题)
澄清一下,我已经能够使用卷将 /home/docker/
中的文件装载到 pods 中,所以我不清楚的只是持久数据。
对于 minikube,保存在 $HOME/.minikube/files
目录中的数据被 minikube 复制到 VM 主机中的 /
目录。
Kubernetes 有专门的对象类型来处理这些事情。 API 个您可能存储在 Secret, and template files (if they aren't already built into your Docker image) could go into a ConfigMap 中的凭据文件。它们都可以转换为环境变量或作为人工卷安装在 运行 容器中。
根据我的经验,尝试将数据直接存储在节点上并不是一个好的做法。拥有多个节点、不直接拥有对这些节点的登录访问权限以及在您的直接控制之外创建和销毁它们是很常见的(想象一下云提供商上的自动缩放器 运行,当它创建一个新节点时所有现有节点都已安排 90%)。您的数据很可能不会(或不能)位于您期望的主机上。
这确实会导致 Kubernetes 对象和相关资源的激增,您可能会发现 Helm 图表是将它们联系在一起的好资源。您可以将图表与您的应用程序一起检入源代码管理,并一次性部署整个项目。除了将资源打包在一起(部署时配置系统,Kubernetes YAML 本身的模板语言)之外,它还有一些有用的功能,如果你不需要它们,你可以忽略它们,只写一堆 YAML 文件和一个小的控制文件。
我正在尝试将一些目录复制到 minikube VM 中,以供 运行 中的一些 pods 使用。其中包括 API 应用程序在 运行 时间使用的凭据文件和模板文件。我发现您可以使用 scp 将文件复制到 /home/docker/
目录中,但是这些文件不会在 VM 重新启动后保留。我读过 files/directories are persisted if stored in the /data/
directory on the VM (among others) 但是我在尝试将文件复制到这些目录时得到 permission denied
。
有没有:
A:minikube 中的任何目录将保留不受这种方式保护的数据
B:在没有 运行 解决此问题的情况下执行上述操作的任何其他方法(很可能以错误的方式解决此问题)
澄清一下,我已经能够使用卷将 /home/docker/
中的文件装载到 pods 中,所以我不清楚的只是持久数据。
对于 minikube,保存在 $HOME/.minikube/files
目录中的数据被 minikube 复制到 VM 主机中的 /
目录。
Kubernetes 有专门的对象类型来处理这些事情。 API 个您可能存储在 Secret, and template files (if they aren't already built into your Docker image) could go into a ConfigMap 中的凭据文件。它们都可以转换为环境变量或作为人工卷安装在 运行 容器中。
根据我的经验,尝试将数据直接存储在节点上并不是一个好的做法。拥有多个节点、不直接拥有对这些节点的登录访问权限以及在您的直接控制之外创建和销毁它们是很常见的(想象一下云提供商上的自动缩放器 运行,当它创建一个新节点时所有现有节点都已安排 90%)。您的数据很可能不会(或不能)位于您期望的主机上。
这确实会导致 Kubernetes 对象和相关资源的激增,您可能会发现 Helm 图表是将它们联系在一起的好资源。您可以将图表与您的应用程序一起检入源代码管理,并一次性部署整个项目。除了将资源打包在一起(部署时配置系统,Kubernetes YAML 本身的模板语言)之外,它还有一些有用的功能,如果你不需要它们,你可以忽略它们,只写一堆 YAML 文件和一个小的控制文件。