我使用fabric8通过以下代码获取kuberenetes pod的状态。
KubernetesHelper.getPodStatusText(pod);
我在容器中部署应用程序,并且容器和容器之间存在一对一的映射。我的要求是重新部署应用程序。因此,在删除pod之后,我检查状态,并且该方法返回状态" Running"删除时。
我无法确定pod已被删除,因为新部署的应用程序也会返回状态为" Running"。是否有任何其他变量的pod可用于识别健康的pod与终止pod。
答案 0 :(得分:1)
执行此操作的一种方法是执行滚动升级。这将确保您部署的应用程序不会导致停机(在旧容器停止之前启动新容器)。需要注意的是,您必须使用复制控制器或复制集才能执行此操作。大多数滚动部署只需更新容器的新版本软件映像。
您可以通过fabric8 Kubernetes Java client通过Java执行此操作。 Here是一个例子:
client.replicationControllers()
.inNamespace("thisisatest")
.withName("nginx-controller")
.rolling().updateImage("nginx");
您可以更改复制控制器的任何配置(副本,环境变量等)。当您运行新版本的广告连播是Ready
&旧的复制&豆荚已被停止&删除。