Kubernetes:只打一次READinessProbe

时间:2017-04-21 09:12:33

标签: kubernetes kubernetes-health-check

我有以下准备探测设置:

  Query q1 = databaseReference11.child("Memo").child(userId);
         q1.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                         for (DataSnapshot data : dataSnapshot.getChildren()) {
                          Mome mome = data.getValue(Mome.class);
                            ArrayList.add(mome);
                       } }
}

我希望这个就绪探测器只被击中一次。它应该只在一次尝试时失败或通过我的部署基础。

我做了一些谷歌搜索,但没有多少帮助。任何一位kube专家?请帮忙。

1 个答案:

答案 0 :(得分:1)

Oswin Noetzelmann的评论是正确的。准备探测的目的是不断检查准备状态。您可能仍然可以更改它,以便您的准备检查脚本检查一次,然后缓存该结果,但它不会是惯用的准备就绪。

一次性检查的更好替代方法是:init-containers或只使用包装脚本,它包装主容器的实际工作并执行您想要的检查。

我认为这是init-containers的一个很好的用例。从文档中可以看出,init容器的一个常见用途是:

  

他们在任何应用容器启动之前运行完成,而app   容器并行运行,因此Init Containers提供了一种简单的方法   阻止或延迟应用容器的启动直到某些设置   满足前提条件。