保持按住直到创建了pod pod Java客户端Kubernetes

时间:2018-12-17 13:02:41

标签: scala kubernetes watch pod

我在集成测试的beforeAll方法中使用Java客户端为Kubernetes API创建了一个自定义对象。创建自定义对象后,也会创建豆荚。但是,仅当我将Thread.sleep设置几秒钟时,它才起作用。没有它,将创建对象,然后执行所有测试。我还定义了对自定义对象状态的监视,但它也无济于事。 还有其他方法(Thread.sleep除外)保持几秒钟,直到创建Pod?

用于自定义对象创建的代码:

 DatabaseReference reference = FirebaseDatabase.DefaultInstance.GetReference("Leaders").Child("List1");
         reference.GetValueAsync().ContinueWith(task =>
         {
             int totalChildren = (int)task.Result.ChildrenCount;
               //Do more stuff
         } 

1 个答案:

答案 0 :(得分:1)

您可以在一个while循环中同步检查是否已创建Pod:

// while
val currentPodList = getCoreV1Api()
                    .listPodForAllNamespaces(null /* _continue */,
                                            null /* fieldSelector */,
                                            null /* includeUninitialized */,
                                            null /* labelSelector */,
                                            null /* limit */,
                                            "false" /* pretty */,
                                            null /* resourceVersion */,
                                            null /* timeoutSeconds */,
                                            false /* watch */)
                    .getItems();
// check items from currentPodList
// end while