Kubernetes 如何使用AKS装载本地卷主机路径?
我正在尝试创建一个Kubernetes吊舱,并从本地主机路径装入一个卷。我正在使用Azure Kubernetes群集。下面是我创建pod的yamlKubernetes 如何使用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
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将安排在特定节点上,您可以使用