2016-08-21 4 views
1

Kubernetes 1.3でPet Setを設定しようとしています。永続的なボリューム、クレーム、およびポッドで期待どおりに機能するNFSストレージバックエンドがあります。しかし、私がPet Setを作成すると、VolumeClaimTemplateは決してNFSによってバックアップされたPersistent Volumeにバインドされません。以下はNFSでKubernetesペットセットを設定する

はPVの定義です -

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: janipv 
spec: 
    capacity: 
    storage: 3Gi 
    accessModes: 
    - ReadWriteMany 
    persistentVolumeReclaimPolicy: Recycle 
    nfs: 
    path: /var/data/test 
    server: 172.17.4.101 

私はドキュメントを参照してくださいPet Set sampleを実行しようとすると、私は次のメッセージを参照してください。

kubelet describe pv 

{persistentvolume-controller }   Warning   ProvisioningFailed  No provisioner plugin found for the claim! 

ペットセットの代わりに通常のポッドを使用すると、同じ設定がうまく動作します。

答えて

0

エラーがhttp://kubernetes.io/docs/user-guide/petset/#alpha-limitations(あなたが書き込んだ場合を除き、この場合はデバッグを開始することができます)のように、NFS動的プロビジョナーはありません。 volumeclaimtemplate自体は何にも束縛されません。これは、ボリュームクレームの作成のためのテンプレートです。コントローラは、pet-0、pet-1のpvc-0、pvc-1 ...を作成します。これらのクレームは、ダイナミックボリュームプロビジョナを介して永続ボリュームにバインドされます。人間がpvを作成してそれをpvcに接続する静的ボリュームプロビジョニングプロセスとは対照的です)。

pvcのvolumeNameフィールドを設定することによって、レプリケーションコントローラのポッドと同じように、既存のpvをpetsetのクレームの1つに手でアタッチすることができます。

+0

ありがとうPrashanth!私は3つの質問を持っています - 1)これは、PVC-0〜PVC-nの命名規則でPVCを手作業で作成した場合、実行時にコントローラによってバインドされますか? 2)アルファ期間中、どのダイナミックプロビジョナーがサポートされていますか? 3)NFS共有を指しているhostPathを使用している場合、Pet Setで予想される結果が得られますか? –

+0

pvcのみが作成されます。バインディングはプロビジョナーの仕事です(あなたの場合は存在しないので、プロビジョナー==人間です)。あなたがクラウドプロバイダーにいる場合は、適切なプロビジョニングを開始する必要があります。金属製であれば、それを開始する必要があります(私はcephとglusterが動作していると信じています:https://github.com/kubernetes/kubernetes/pull/30888、https://github.com/kubernetes/kubernetes/pull/31251)。 –

関連する問題