如何使用java在kubernetes中识别终止pod

时间:2016-04-17 18:54:15

标签: java kubernetes fabric8

我使用fabric8通过以下代码获取kuberenetes pod的状态。

KubernetesHelper.getPodStatusText(pod);

我在容器中部署应用程序,并且容器和容器之间存在一对一的映射。我的要求是重新部署应用程序。因此,在删除pod之后,我检查状态,并且该方法返回状态" Running"删除时。

我无法确定pod已被删除,因为新部署的应用程序也会返回状态为" Running"。是否有任何其他变量的pod可用于识别健康的pod与终止pod。

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是执行滚动升级。这将确保您部署的应用程序不会导致停机(在旧容器停止之前启动新容器)。需要注意的是,您必须使用复制控制器或复制集才能执行此操作。大多数滚动部署只需更新容器的新版本软件映像。

您可以通过fabric8 Kubernetes Java client通过Java执行此操作。 Here是一个例子:

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

您可以更改复制控制器的任何配置(副本,环境变量等)。当您运行新版本的广告连播是Ready&旧的复制&豆荚已被停止&删除。