Kubernetes 如何使用AKS装载本地卷主机路径?

Kubernetes 如何使用AKS装载本地卷主机路径?,kubernetes,Kubernetes,我正在尝试创建一个Kubernetes吊舱,并从本地主机路径装入一个卷。我正在使用Azure Kubernetes群集。下面是我创建pod的yaml apiVersion: v1 kind: Pod metadata: name: test-pd spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 volumeMounts: - mountP

我正在尝试创建一个Kubernetes吊舱,并从本地主机路径装入一个卷。我正在使用Azure Kubernetes群集。下面是我创建pod的yaml

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - name: nginx
    image: nginx:1.7.9
    ports:
    - containerPort: 80
    volumeMounts:
    - mountPath: /opt/myfolder
      name: test-volume
  volumes:
  - name: test-volume
    hostPath:
      # directory location on host
      path: /Users/kkadam/minikube/myfolder
      # this field is optional
我想在容器中使用的
myfolder
下有几个文件。文件存在于本地卷中,但不在容器中


有什么问题吗?

根据您在评论和配置中所说的判断,尤其是路径
/Users/kkadam/minikube/myfolder
,这通常是一个Mac OS路径,似乎您正试图将本地卷(可能是您的Mac)装入部署在AKS上的pod中。
这就是问题所在


为了使其正常工作,您需要将尝试装载的文件放在运行pod的节点上(位于AKS中)。

根据您在评论和配置中所说的内容判断,尤其是路径
/Users/kkadam/minikube/myfolder
,这通常是一个Mac OS路径,您似乎正在尝试装载本地卷(可能是您的mac)部署在AKS上的吊舱中。
这就是问题所在


为了使其正常工作,您需要将尝试装载的文件放在运行pod的节点上(位于AKS中)。

您不能将本地路径添加到运行在AKS上的容器。您必须将文件添加到计划装载pod的特定节点上

如果两者都位于相同的节点盒和文件上,则可以将文件作为卷装载到容器并使用它

但是,如果您的POD被安排到另一个节点,那么您将无法访问容器中的文件


如果由于任何原因,您的节点在自动缩放过程中重新启动或删除,您可能会丢失数据。

您无法将本地路径添加到AKS上运行的容器。您必须在计划POD的特定节点上添加文件

如果两者都位于相同的节点盒和文件上,则可以将文件作为卷装载到容器并使用它

但是,如果您的POD被安排到另一个节点,那么您将无法访问容器中的文件



如果由于任何原因,您的节点在自动缩放过程中重新启动或删除,您可能会丢失数据。

您的pod计划在与主机路径相同的节点上吗!!不。我是从本地系统执行此操作的。您能更详细地解释一下您的设置吗!!@HarshManvar我的意思是从本地系统,而不是从节点。但我想我必须确保在节点上应该存在映射为hostPath的t文件夹。您应该在
aks-agentpool-29453832-vmss00000
上创建主机路径,并将数据复制到aks节点上的主机路径。简言之,本地笔记本电脑上的主机路径不会装载在aks上。另外请注意,每次重建pod时,它都可以选择不同的节点,主机路径是node特定..因此,如果您要在容器的重新启动过程中查找持久数据,则需要使用nfs解决方案..您是否将pod计划在主机路径所在的同一节点上!!不。我是从本地系统执行此操作的。您能否进一步解释您的设置!!@HarshManvar我是指从本地系统,而不是从节点。但我想我会ave要确保节点上应该存在我映射为hostPath的文件夹您应该在
aks-agentpool-29453832-vmss000000
上创建主机路径,并将数据复制到aks节点上的主机路径。简言之,本地笔记本电脑上的主机路径不会装载到aks上。另外请注意,每次重建pod时,它都可以选择不同的节点主机路径是特定于节点的。因此,如果您要在容器的重新启动过程中查找持久性数据,则需要使用nfs解决方案。您是否也可以添加进程,她如何将数据移动到节点目录?使用
scp
我猜是吧?或者他/她用于连接AKSok的任何解决方案。我是否必须确保我使用的文件夹是主机路径上的am映射存在于主节点上?不,它必须存在于运行pod的节点上。这意味着,正如@Harsh Manvar所说,您必须确保pod将被安排在正确的节点上。@KomalKadam为了确保您的pod将被安排在特定的节点上,您可以使用类似的方法,例如您还可以添加进程吗可以将数据移动到节点目录吗?使用
scp
我猜?或者他/她用于连接AKSok的任何解决方案。我是否必须确保我映射到hostPath上的文件夹存在于主节点上?不,它必须存在于运行pod的节点上。这意味着,正如@Harsh Manvar所说,您必须确保pod是s安排在右侧节点上。@KomalKadam为了确保pod将安排在特定节点上,您可以使用