java - 如何知道使用fabric8 java客户端API在Kubernetes中滚动升级部署的状态?
问题描述
我正在使用fabric8 java客户端API对部署的特定容器进行滚动升级
client.apps().deployments().inNamespace(..)
.withName(..)
.rolling()
.updateImage(...);
在观察 k8s 时,我可以看到新的 pod 正在创建,而旧的 pod 已按预期删除。如何以编程方式了解升级状态?
无论升级成功还是失败,我都需要返回响应。
解决方案
要检查部署发生了什么,您可以使用 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
}
在这里,您可以找到更多关于部署可以做什么的示例
推荐阅读
- python - 将包含单个字符串的列表列表展平为整数列表
- c# - 如何将 Unity 2d 对象固定到屏幕边缘?
- sql - 处理 SQL 减号
- javascript - 如何使用 AJAX 刷新 div?
- android - 代码推送功能不适用于反应本机应用程序
- python - 从我的 django 模型中获取我的列的名称
- python - Stripe - 检索客户 PaymentIntent 历史记录
- linux - 覆盖 FS 排除文件夹
- reactjs - React 形式:循环通过 event.target 创建对象
- silverlight - 我需要用于 Lightswitch silverlight 客户端的 syncfusion ReportViewer