実行中のポッドでファイル(デバッグ出力用)を更新しましたが、認識されません。ポッドを再起動して取得しましたが、oc stop
およびoc start
またはoc restart
。ポッド内のファイルを強制的に更新するにはどうすればよいですか?
多分それはRubyの事(PHPのopcacheのようなもの)であると考えています。しかし、ポッドの再起動がそれを処理すると考えました。ポッドを再起動する方法がわかりません。
デプロイメント構成で変更を行う必要がありますが、ポッドでは必要ありません。 OpenShiftはポッドをほぼ不変として扱うためです。実行中にポッド定義を変更することはできません。 https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/pods_and_services.html#pods
デプロイメント設定にいくつかの変更を加えて保存すると、ポッドが再起動し、変更が有効になります。
oc edit dc "deploy-config-example"
ボリュームまたはconfigmapsで何かを変更する場合、彼の再起動のためにポッドを削除する必要があります:
oc delete pod "name-of-your-pod"
そして、ポッドが再起動します。または、次を実行して新しい展開をトリガーします:
oc rollout latest "deploy-config-example"
oc rollout
を使用すると、スケーリングされたアプリケーションがある場合にすべてのポッドを再デプロイし、各ポッドを識別して削除する必要がないため、より適しています。
展開を縮小(ゼロ)してから再び拡大できます。
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