J'ai mis à jour un fichier (pour la sortie de débogage) dans un pod en cours d'exécution, mais il n'est pas reconnu. J'allais redémarrer le pod pour le faire prendre mais je ne vois que oc stop
et pas oc start
ou oc restart
. Comment forcer un rafraîchissement des fichiers dans le pod?
Je pense que c'est peut-être une chose Ruby (comme opcache en PHP). Mais je pensais qu'un redémarrage du pod le gérerait. Je ne peux pas comprendre comment redémarrer un pod.
Vous devez effectuer vos modifications dans la configuration de déploiement, mais pas dans le module. Parce que OpenShift traite les pods comme largement immuables; aucune modification ne peut être apportée à une définition de module pendant son exécution. https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/pods_and_services.html#pods
Si vous apportez des modifications dans la configuration de déploiement et les enregistrez, le pod redémarrera et vos modifications prendront effet:
oc edit dc "deploy-config-example"
Si vous changez quelque chose dans les volumes ou les configmaps, vous devez supprimer le pod pour son redémarrage:
oc delete pod "name-of-your-pod"
Et le pod va redémarrer. Ou mieux encore déclencher un nouveau déploiement en exécutant:
oc rollout latest "deploy-config-example"
En utilisant oc rollout
est préférable car il redéploiera tous les pods si vous avez une application mise à l'échelle, et vous n'avez pas besoin d'identifier chaque pod et de le supprimer.
Vous pouvez réduire (à zéro) les déploiements, puis à nouveau:
oc get deployments -n <your project> -o wide
oc get pods -n <your project> -o wide
oc scale --replicas=0 deployment/<your deployment> -n <your project>
oc scale --replicas=1 deployment/<your deployment> -n <your project>
watch oc get pods -n <your project> # wait until your deployment is up again