2017-10-07 72 views
0

我有pod,利用PHP和我有一個永久的MySQL存儲在openshift在線創建。每當我點擊「添加存儲到php」選項,並將mysql設置爲具有掛載點/ var/lib/mysql的存儲時,服務器將嘗試重新部署,但新容器停止創建,然後失敗。我得到這樣的多個錯誤信息: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存儲連接到pod的正確方法嗎?

回答

2

EBS卷類型一次只能安裝在OpenShift羣集中的一個節點上。當您將PHP和MySQL作爲單獨的應用程序登錄到不同的節點時,您無法針對這兩個應用程序安裝持久性卷。這個錯誤是警告你的。

您可以同時對PHP和MySQL使用單個EBS卷的唯一方法是讓它們在同一個容器的不同容器中運行。您還需要確保將部署策略設置爲「重新創建」而非「滾動」,因爲在舊版本存在時創建新實例的滾動結果會出現同樣的問題,因爲新舊版本可能位於不同節點上。

+0

謝謝你的回答,它更有意義。任何機會,你可以包括如何創建一個PHP和MySQL容器並將它們包含在同一個窗格下的說明?不知道該怎麼去做。 – Michael

+0

使用Web控制檯或使用''oc''來執行此操作非常麻煩。您確實需要直接或通過模板將原始資源對象創建爲JSON/YAML。在https://github.com/openshift-evangelists/wordpress-quickstart –

+0

的「templates」目錄中查看標記爲「testing」的模板。爲獲得更好的模板,專門設計用於將任意PHP應用程序代碼部署爲PHP + MySQL在單個卷中的單卷,請參閱https://github.com/openshift-evangelists/php-quickstart中的模板在模板文件上使用'oc create -f mysql-persistent-single-volume.json'',然後從PHP下的目錄瀏覽器中選擇。輸入您的應用程序的repo URL作爲源存儲庫。以''/ opt/app-root/data''裝載的PHP應用程序卷。 –