无法访问Minikube / Kubernetes mountPath

时间:2017-02-22 20:23:46

标签: kubernetes minikube

我正在运行minikube / Kubernetes,并且无法从部署中的volumeMount访问卷。

我可以确认,当微服务启动时,它无法访问/ config目录(即“volumeMounts”中的“mountPath”)。我已经验证了hostPath / path是有效的。

我已经尝试了许多技术,并且还验证了部署文件是正确的。我也尝试在路径规范周围使用引号/双引号/无引号,但这并没有解决问题。

请注意,我使用“hostPath”进行简单测试,但是,这是我需要解决的问题。

我的迷你管配置如下图所示:

$ 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 / Sierra版本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'

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

为了完整性,下面是我找到的解决方案......我得到了hostPath并安装了minikube(在Mac上),这需要几步但需要几个&#34; minikube delete&#34;用于获取最新版本和重置环境的命令。以下是有关如何实现此功能的一些其他说明:

  • 我不得不使用xhyve驱动程序才能使其正常工作 - 它可能使用其他驱动程序,但我没有尝试过。

  • 我发现minikube在&#34; / User&#34;上安装了主机路径。这意味着&#34;卷/ hostPath / path&#34;应从&#34; /用户&#34;

  • 开始
  • 我找到了多种方法,包括使用声明,但原始问题中的文件现在反映了正确而简单的配置。

答案 1 :(得分:0)

minikube尚不支持主机安装目录。请检查https://github.com/kubernetes/minikube/issues/2

内部minikube使用虚拟机来托管Kubernetes。如果在POD规范中指定hostPath,Kubernetes将在VM内托管指定目录,而不是实际主机上的目录。

如果您确实需要访问主机上的某些内容,则必须使用NFS或任何其他基于网络的卷类型。