2017-10-07 5 views
0

J'ai pod qui utilise php et j'ai un stockage MySQL persistant créé sur openshift en ligne. Chaque fois que je clique sur l'option "ajouter du stockage à php" et que je mets mysql comme stockage avec le point de montage/var/lib/mysql, le serveur tente de redéployer mais le nouveau conteneur est bloqué en créant puis échoue. Je reçois plusieurs messages d'erreur comme celui-ci:Openshift Mymsql stockage persistant ne sera pas monté sur 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" 

est-ce pas la bonne façon de se connecter stockage de MySQL à un pod?

Répondre

2

Le type de volume EBS peut uniquement être monté sur un nœud à la fois dans un cluster OpenShift. Lorsque vous avez PHP et MySQL en tant qu'applications séparées pouvant atterrir sur différents nœuds, vous ne pouvez pas monter le volume persistant contre les deux. L'erreur vous en avertit. La seule façon d'utiliser simultanément un seul volume EBS contre PHP et MySQL est de les faire tourner dans des conteneurs distincts du même module. Vous devez également vous assurer que la stratégie de déploiement est définie sur Recréer et pas sur Rouler, car les résultats de roulage dans une nouvelle instance sont créés lorsque l'ancienne existe toujours, avec le même problème que le nouveau et l'ancien sur des nœuds différents.

+0

Merci pour votre réponse, cela a beaucoup plus de sens. Est-ce que vous pourriez inclure des instructions sur la façon de créer un conteneur php et mysql et de les inclure sous le même module? Je ne sais pas comment y arriver. – Michael

+0

Faire cela en utilisant la console web ou en utilisant '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' Vous devez vraiment créer les objets de ressources brutes au format JSON/YAML directement ou via un modèle. Voir les modèles marqués pour '' testing'' dans le répertoire '' templates'' sur https://github.com/openshift-evangelists/wordpress-quickstart –

+0

Pour un meilleur modèle, spécialement conçu pour déployer du code d'application PHP arbitraire en PHP + MySQL dans un pod avec un seul volume, voir les modèles dans https://github.com/openshift-evangelists/php-quickstart Utilisez '' c create -f mysql-persistent-single-volume.json'' sur le fichier modèle, puis sélectionnez à partir du navigateur de catalogue sous PHP. Entrez dans l'URL de dépôt pour votre application en tant que référentiel source. Volume pour l'application PHP monté comme ''/opt/app-root/data''. –