我有以下准备探测设置:
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专家?请帮忙。
答案 0 :(得分:1)
Oswin Noetzelmann的评论是正确的。准备探测的目的是不断检查准备状态。您可能仍然可以更改它,以便您的准备检查脚本检查一次,然后缓存该结果,但它不会是惯用的准备就绪。
一次性检查的更好替代方法是:init-containers或只使用包装脚本,它包装主容器的实际工作并执行您想要的检查。
我认为这是init-containers的一个很好的用例。从文档中可以看出,init容器的一个常见用途是:
他们在任何应用容器启动之前运行完成,而app 容器并行运行,因此Init Containers提供了一种简单的方法 阻止或延迟应用容器的启动直到某些设置 满足前提条件。