2017-10-07 18 views
0

私はPHPを利用するポッドを持っており、私はopenshift onlineで作成された永続的なMySQLストレージを持っています。私はオプション "PHPにストレージを追加する"をクリックし、マウントポイント/ var/lib/mysqlを持つストレージとしてmysqlを設定すると、サーバは再デプロイを試みますが、新しいコンテナが作成されて失敗します。私はこの1つのような複数のエラーメッセージが出ます:Openshift Mymsql永続ストレージがPHP上にマウントされない

Failed to attach volume "pvc-d4962378-aae0-11e7-8a41-0a2a2b777307" on node "ip-172-31-50-169.us-west-2.compute.internal" with: Error attaching EBS volume "vol-0087ade77401256f5" to instance "i-0b8b81e68bc629f01": VolumeInUse: vol-0087ade77401256f5 is already attached to an instance status code: 400, request id: dfbdac9b-bad0-4211-8158-080a4e120b1a. The volume is currently attached to instance "i-02a6b44c53ab0d7f2" 

が、これはポッドにMySQLのストレージを接続するための適切な方法ではないですか?

答えて

2

EBSボリュームタイプは、OpenShiftクラスタで一度に1つのノードにのみマウントできます。 PHPとMySQLを別々のアプリケーションとして別々のノードに置くことができ、その結果、永続的なボリュームを両方のノードに対してマウントすることはできません。このエラーはあなたに警告しています。

PHPとMySQLに対して1つのEBSボリュームを同時に使用できる唯一の方法は、同じポッドの別々のコンテナで実行することです。また、古いものが存在するときに新しいインスタンスが作成され、新しいノードと古いノードが同じノードに存在する可能性があるため、展開の戦略が再作成とローリングではないことを確認する必要があります。

+0

ありがとうございました。それはもっと意味があります。 PHPとMySQLコンテナを作成し、それらを同じポッドの下に含める方法についての説明が含まれていますか?それをどうやってやるのかわからない。 – Michael

+0

Webコンソールを使ったり、 '' oc ''を使ったりするのはむしろ面倒です。生のリソースオブジェクトをJSON/YAMLとして直接またはテンプレート経由で作成する必要があります。 https://github.com/openshift-evangelists/wordpress-quickstart –

+0

の '' templates''ディレクトリの '' testing''にマークされたテンプレートを参照してください。より良いテンプレートは、PHPとして任意のPHPアプリケーションコードを展開するために特に設計されています。 +単一のボリュームを持つ1つのポッドにあるMySQL、https://github.com/openshift-evangelists/php-quickstartのテンプレートを参照してください。テンプレートファイルに '' oc create -f mysql-persistent-single-volume.json''を使用して、 PHPのカタログブラウザから選択します。ソースリポジトリとしてアプリケーションのrepo URLを入力します。 '/ opt/app-root/data'でマウントされたPHPアプリケーションのボリューム。 –

関連する問題