2017-10-02 4 views
1

私はアプリケーションをOpenShift Online 3(バージョン2)に移植しましたが、今は拭き取られていない永続的な "共有"データをどのように管理するのか苦労していますそれぞれのビルドの後に。OpenShift Online 3でPVCをPodにマウントする方法

Persistent Volume Claimsに関するドキュメントを読んだ後、Webダッシュボードを使用して、プロジェクト内にRWOタイプの新しいPVCを作成しました。この時点で、私は、各ポッドの内側からこのストレージにアクセスする方法を理解しようとしたか、私はそれをマウントするために何かをする必要があれば、私はこれやってしまった。この後

$ oc volume dc/myapp --add --type=persistentVolumeClaim --claim-name=pvcname --mount-path=/usr/share/data 

を、それは新しいように見えます設定が正常に登録されました:

$ oc volume dc --all 
deploymentconfigs/myapp 
    pvc/pvcname (allocated 1GiB) as volume-jh1jf 
    mounted at /usr/share/data 

私はまた、新しいビルドで作成されたポッド内部から新しい/usr/share/dataディレクトリを見ることができました。ただし、この変更を行った後、すべての展開は、このエラーで失敗し始め

:私の最新の変更は、特定のインスタンスにボリュームをアタッチする効果を持っていたように見えます

Failed to attach volume "pvc-0b747c80-a687-11e7-9eb0-122631632f42" on node "ip-172-31-48-134.ec2.internal" with: Error attaching EBS volume "vol-0008c8127ff0f4617" to instance "i-00195cc4e1d31f8ce": VolumeInUse: vol-0008c8127ff0f4617 is already attached to an instance status code: 400, request id: 722f3797-f486-4739-ab4e-fe1826ae53af. The volume is currently attached to instance "i-089e2a60e525f447c"

いるから。しかし、どのようにしてボリュームを私のポッドにマウントして、各ビルドとデプロイメントに耐えられるようにすることができますか?

答えて

1

EBSボリュームタイプを使用しているため、展開設定の展開方法をRollingではなくRecreateに設定する必要があります。これは、EBSボリュームを一度にクラスタ内の単一ノードにのみマウントできるためです。つまり、ローリング・デプロイメントを使用することはできず、アプリケーションを1つのレプリカ以上に拡張することもできません。これは、複数のインスタンスが生成され、同じノードにデプロイされる保証はないからです。

+0

ありがとうございます! – swahnee

関連する問題