繁体   English   中英

如何使用Java在Kubernetes中标识终止Pod

[英]How to identify a terminating pod in kubernetes using java

我正在使用fabric8通过以下代码获取kuberenetes吊舱的状态。

KubernetesHelper.getPodStatusText(pod);

我在容器中部署了一个应用程序,并且容器和容器之间存在一对一的映射。 我的要求是重新部署该应用程序。 因此,删除吊舱后,我检查状态,并且该方法在删除时返回状态“正在运行”。

由于新部署的应用程序还返回“正在运行”状态,因此我无法确定该Pod已被删除。 容器的其他变量是否可用于识别正常容器和终止容器。

一种方法是执行滚动升级。 这将确保您部署的应用程序不会造成停机(在停止旧Pod之前先启动新Pod)。 一个警告是您必须使用复制控制器或复制集来执行此操作。 大多数滚动部署仅涉及为新版本的软件更新容器的映像。

您可以通过fabric8Kubernetes Java客户端通过Java完成此操作。 是一个例子:

client.replicationControllers()
    .inNamespace("thisisatest")
    .withName("nginx-controller")
    .rolling().updateImage("nginx");

您可以更改复制控制器的任何配置(副本,环境变量等)。 当您运行新版本的Pod处于“ Ready ”状态且旧的复制和Pod已停止并删除时,该呼叫将返回。

暂无
暂无

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

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