2017-02-22 113 views
0

我正在運行minikube/Kubernetes,並且無法從部署中的volumeMount訪問卷。Minikube/Kubernetes mountPath無法訪問

我可以確認當微服務啓動時,它無法訪問/ config目錄(即「volumeMounts」中的「mountPath」)。我已驗證hostPath /路徑是否有效。

我已經嘗試了許多技術,並且還驗證了部署文件是正確的。我也嘗試過在路徑規範中使用引號/雙引號/不引號,但這不能解決問題。

請注意,我使用「hostPath」進行簡單的測試,但是,這是我仍然需要解決的情況。

我minikube配置如下圖所示:

$ kubectl version 
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T07:30:54Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"darwin/amd64"} 
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"} 

我在MacOS /塞拉利昂版本10.12.3(16D32)運行minikube。

我的部署文件(deployment.yaml):

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: atmp1000-deployment 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: atmp1000 
    spec: 
     containers: 
     - name: atmp1000 
     image: atmp1000 
     ports: 
     - containerPort: 7010 
     volumeMounts: 
      - name: atmp1000-volume 
      mountPath: '/config' 
     volumes: 
     - name: atmp1000-volume 
     hostPath: 
      path: '/Users/<username>/<some-path>/config' 

任何幫助表示讚賞。

回答

1

爲了完整起見,下面是我找到的解決方案...我得到了在minikube(Mac上)上運行的hostPath和掛載,這需要幾個步驟,但需要幾個「minikube delete」命令才能獲得最多當前版本並重置環境。下面是關於如何得到這個功能提供了一些說明:

  • 我只好用xhyve驅動程序,使這一切工作正常 - 它可能適用於使用其他車手,但我沒有嘗試。

  • 我發現minikube安裝主機的路徑爲「/用戶」,這意味着「卷/ hostPath /路徑」應在「/用戶」

  • 開始我發現了一個不同的方式,這種合作包括使用聲稱,但原始問題中的文件現在反映了正確和簡單的配置。

0

minikube尚不支持主機安裝目錄。請檢查https://github.com/kubernetes/minikube/issues/2

內部minikube使用虛擬機來託管Kubernetes。如果您在POD規範中指定hostPath,則Kubernetes將主持在VM內掛載指定的目錄,而不是在實際主機上掛載目錄。

如果您確實需要訪問主機上的某些內容,則必須使用NFS或任何其他基於網絡的卷類型。

+0

好的。我可以嘗試nfs,但是,minikube文檔明確指出hostPath可用於minikube ..請參閱https://github.com/kubernetes/minikube)並參閱:http://blog.kubernetes.io/2016/07/ minikube,易於運行kubernetes-locally.html)。我不確定它是否有所作爲,但我在Mac上使用xhyve管理程序而不是使用VirtualBox版本。 –

+0

從你提到的第一個鏈接:「Minikube支持類型爲hostPath的PersistentVolumes,這些PersistentVolumes被映射到minikube虛擬機內的一個目錄。「 請注意最後一句,它表示主機掛載基於內部虛擬機目錄 –

+0

有關hostPath的快速問題,因爲我無法在文檔中找到它的具體討論:如果我想從內部訪問主機文件minikube虛擬機和pod中,主機上的minikube根目錄我應該放置文件,以便它們可以在mounthPath中可見(我知道這不是一個最佳實踐,但正在嘗試解決特定問題)。 –