【问题标题】:How to identify a terminating pod in kubernetes using java如何使用 java 识别 kubernetes 中的终止 pod
【发布时间】:2016-08-09 09:55:18
【问题描述】:

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

KubernetesHelper.getPodStatusText(pod);

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

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

【问题讨论】:

    标签: java kubernetes fabric8


    【解决方案1】:

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

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

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

    您可以更改复制控制器的任何配置(副本、环境变量等)。当您运行新版本的 pod 为 Ready 并且旧的复制和 pod 已停止并删除时,调用将返回。

    【讨论】:

      猜你喜欢
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 2019-01-17
      • 2020-04-30
      • 2021-12-28
      • 2021-03-03
      相关资源
      最近更新 更多