繁体   English   中英

如何在 OpenShift 中重启 pod?

[英]How to restart pod in OpenShift?

我在正在运行的 pod 中更新了一个文件(用于调试输出),但它没有被识别。 我打算重新启动 pod 以使其生效,但我只看到oc stop而没有看到oc startoc 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 个吊舱。

请按照以下步骤操作

  1. 登录打开班次
  2. 单击监视器选项卡
  3. 选择要为其重新启动 pod 的组件
  4. 单击操作下拉菜单(右上角)
  5. 删除现有的 pod
  6. 新的 pod 自动生成。

如果您想使用 GUI 执行此操作:

  1. 登录
  2. 单击工作负载 -> 部署配置
  3. 找到要重新启动的 Pod。
  4. 在右侧,单击 3 个点。
  5. 单击开始发布。

如果你删除你的 pod,或者将它缩放到 0 和 1,你可能会失去一些客户端,因为你基本上是在停止和重新启动你的应用程序。 但是在 rollout 中,您现有的 pod 会等待新的 pod 准备就绪,然后将其自身删除。 所以我想 rollout 比删除或缩放 0/1 更安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM