2017-02-22 4 views
0

私はminikube/Kubernetesを実行しており、展開のvolumeMountからボリュームにアクセスすることができません。Minikube/Kubernetes mountPathにアクセスできない

マイクロサービスが起動すると、/ configディレクトリ( "volumeMounts"の "mountPath")にアクセスできないことが確認できます。 hostPath/pathが有効であることを確認しました。

私は多くの手法を試しており、展開ファイルが正しいことを検証しました。また、パス指定の前後で引用符/二重引用符/二重引用符を使用してみましたが、これでは問題は解決しません。

私は単純なテスト目的のために "hostPath"を使用していますが、これは私が対処する必要があるシナリオです。

マイminikube構成を以下に示します:私はMacOSの/シエラのバージョン10.12.3(16D32)上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"} 

マイデプロイメントファイル(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

私が見つけた解決策は以下のとおりです。私はhostPathを取得し、いくつかのステップを踏んだが、いくつかのミニキューブ削除コマンドを必要とするminikube(Macの場合)環境をリセットしてください。 - それはおそらく他のドライバーを使用して動作しますが、私はそれをしようとしなかった

  • 私はそれがすべて正常に動作させるためにxhyveドライバを使用する必要がありました。以下は、この機能を取得する方法についていくつかの追加の注意事項があります。

  • 私はminikubeは、私は、これは使用を含め働いたさまざまな方法を発見した「/ユーザ」

  • で開始する必要があります「ボリューム/ホストパス/パス」を意味し、「/ユーザ」でホストパスをマウントすることがわかりました主張が元の質問のファイルは、現在、正確かつ単純な構成を反映しています。

0

ホストマウントディレクトリはまだminikubeではサポートされていません。確認してくださいhttps://github.com/kubernetes/minikube/issues/2

内部的には、ミニキューブは仮想マシンを使用してKubernetesをホストしています。 POD仕様にhostPathを指定した場合、Kubernetesは実際のホスト上のディレクトリではなく、VM内で指定されたディレクトリをマウントします。

実際にホストマシン上の何かにアクセスする必要がある場合は、NFSなどのネットワークベースのボリュームタイプを使用する必要があります。

+0

OK。私はnfsを試すことができますが、minikubeのドキュメントではhostPathをminikubeに使うことができます。https://github.com/kubernetes/minikubeを参照してください。http://blog.kubernetes.io/2016/07/ minikube-easily-run-kubernetes-locally.html)。私はそれが何か違いがあるかどうかはわかりませんが、私はVirtualBoxバージョンを使用する代わりに、Mac上でxhyveハイパーバイザーを使用しています。 –

+0

あなたが言及した最初のリンクから: "MinikubeはhostPath型のPersistentVolumesをサポートしています。これらのPersistentVolumeは、ミニキューブVM内のディレクトリにマップされています。" ホストマウントはVM内のディレクトリに基づいていると言われています –

+0

hostPathについての簡単な質問はドキュメントで詳しく説明しています。 minikube VMとpodsの中で、ホスト上でファイルをmounthPathで見ることができるミニキュートのルートディレクトリがあります(これはベストプラクティスではありませんが、特定の問題を解決しようとしています)。 –

関連する問題