1

ベアメタルでKubernetesを使用し、 OpenStackクラウド プロバイダーから外部ブロック ストレージ ボリュームをマウントする方法を見つけようとしています。

Cinder プラグインを使用する必要があることを理解しています。 https://github.com/kubernetes/kubernetes/tree/master/pkg/volume/cinder

見つけた例を修正してテスト ポッドを作成しました。ボリュームは、ポッド定義で次のように単純に定義されています。

apiVersion: v1
kind: Pod
metadata:
  name: test
  labels:
    name: test
spec:
  containers:
    - image: busybox
      name: busybox
      command:
      - "sleep"
      - "3600"
      volumeMounts:
        - name: persistent-storage
          mountPath: /var/lib/storage
  volumes:
    - name: persistent-storage
      cinder:
        volumeID: bd82f7e2-wece-4c01-a505-4acf60b07f4a
        fsType: ext4

OpenStack ボリューム API から取得したvolumeIDがあります。

そこに配置しましたが、ボリュームが実際にマウントされているかどうかはわかりません:

実際に確認する方法はわかりませんdf -hが、ホストとコンテナーにマウントされているリモートボリュームが表示されると思いますが、何も表示されません。

ボリュームがマウントされていない場合、Kubernetes からエラーが送信され、ポッドが失敗するか何かが発生すると思いますが、実行されます。

問題は、ボリュームがマウントされていることを確認するにはどうすればよいかということです。マウントされていないと思いますが、この cinder プラグインを機能させるにはどうすればよいですか?

4

1 に答える 1

0

これに関する私の調査の結論は、ブロック ストレージを使用するノードも同じ OpenStack クラスター上にある必要があるということでした。

つまり、Open Stack クラスター上にないノードのクラスターに Cinder ブロック ストレージを (簡単に/標準的に) マウントすることはできません。

参照: Kubernetes: あるクラウド プロバイダーから OpenStack Cinder を使用し、ノードは別のクラウド プロバイダーにある

于 2017-09-26T16:39:36.587 に答える