【问题标题】:How to know the status of rolling upgrade of deployment in Kubernetes using fabric8 java client API?如何知道使用fabric8 java客户端API在Kubernetes中滚动升级部署的状态?
【发布时间】:2021-10-13 05:24:01
【问题描述】:

我正在使用 fabric8 java 客户端 API 滚动升级特定的部署容器

client.apps().deployments().inNamespace(..)
       .withName(..)
       .rolling()
       .updateImage(...);

在观察 k8s 时,我可以看到新的 pod 正在创建,而旧的 pod 已按预期删除。如何以编程方式了解升级状态?

无论升级成功还是失败,我都需要返回响应。

【问题讨论】:

    标签: java kubernetes fabric8


    【解决方案1】:

    要检查部署发生了什么,您可以使用 Watcher:

    client.apps().deployments().inNamespace("default").watch(new Watcher<Deployment>() {
      @Override
      public void eventReceived(Action action, Deployment resource) {
        // Do stuff depending upon action
      }
    
      @Override
      public void onClose(KubernetesClientException cause) {
    
      }
    });
    

    Action 是一个枚举,因此您可以检查 ERROR 并引发异常:

    enum Action {
        ADDED, MODIFIED, DELETED, ERROR
      }
    

    Here 你可以找到更多关于部署的示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 2023-02-16
      相关资源
      最近更新 更多