[英]How to restart pod in OpenShift?
我在正在运行的 pod 中更新了一个文件(用于调试输出),但它没有被识别。 我打算重新启动 pod 以使其生效,但我只看到oc stop
而没有看到oc start
或oc restart
。 如何强制刷新 pod 中的文件?
我在想这可能是 Ruby 的东西(就像 PHP 中的 opcache)。 但认为重新启动 pod 会处理它。 只是不知道如何重新启动 pod。
您需要在部署配置中而不是在 pod 中进行更改。 因为 OpenShift 将 pod 视为基本上不可变的; Pod 定义在运行时无法更改。 https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/pods_and_services.html#pods
如果您在部署配置中进行一些更改并保存它们,pod 将重新启动并且您的更改将生效:
oc edit dc "deploy-config-example"
如果您更改卷或配置映射中的某些内容,则需要删除 pod 以重新启动:
oc delete pod "name-of-your-pod"
Pod 将重新启动。 或者最好仍然通过运行来触发新的部署:
oc rollout latest "deploy-config-example"
使用oc rollout
更好,因为如果您有一个扩展的应用程序,它将重新部署所有 pod,并且您不需要识别每个 pod 并删除它。
您可以将部署缩小(到零)然后再放大:
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
感谢 Noam Manos 的解决方案。
我在 Openshift 中使用过“应用程序控制台”。 我已经导航到应用程序 - 部署 - #3(检查您的活动部署)以查看带有向上和向下箭头的 pod。 目前,我有 1 个 pod 正在运行。 所以,我点击了向下箭头以缩小到 0 pod。 然后,我单击向上箭头以放大到 1 个吊舱。
请按照以下步骤操作
如果您想使用 GUI 执行此操作:
如果你删除你的 pod,或者将它缩放到 0 和 1,你可能会失去一些客户端,因为你基本上是在停止和重新启动你的应用程序。 但是在 rollout 中,您现有的 pod 会等待新的 pod 准备就绪,然后将其自身删除。 所以我想 rollout 比删除或缩放 0/1 更安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.