或许可以实现您自己的健康检查。当您第一次发现一切都ok时,运行您的代码。
我使用一个静态变量,首先检查thealthcheckok。您的逻辑应该只运行一次。
我假设您正在运行Spring-Boot2.x,并在http://localhost:8080/actulator/health上调用准备状态探测
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.stereotype.Component;
@Component
public class HealthCheck implements HealthIndicator {
static boolean firstHealthCheckOK = false;
@Override
public Health health() {
int errorCode = check(); // perform health check
if (errorCode != 0) {
return Health.down()
.withDetail("Error Code", errorCode).build();
}
if (firstHealthCheckOK == false){
firstHealthCheckOK = true;
doStartUpLogic();
}
return Health.up().build();
}
private int check() {
//some logic
return 0;
}
private void doStartUpLogic() {
//some startup logic
}
}
一个简单的问题。我知道如果Kubernetes活性探测失败,Kubernetes会帮助重新启动吊舱,然后再试一次。但是准备状态探测器失败了呢?我怎么也能让库伯内特斯重启吊舱呢? 重启这个吊舱就能让它工作。谢谢大家!
我相信字段选择器可能有一个bug,但只是想知道是否有任何修复或解决方案的细节。
所以我们有一个迷宫,有墙(W ),开放路径(O ),起点点(S)和终点点(F)。 我试图编写一个算法,采取迷宫文件,然后把它变成一个二维数组的点,使网格。 一旦我有了网格,我想从迷宫中的“S”字符开始,并尝试找到是否有可能穿过“O”到达“f”。(返回布尔值true/false) 我知道这个迷宫是可以解决的,那么为什么我得到了“假”??一定有一个复杂的问题,因为我得到的只是简单的布尔假,而不是“对不
我想看看kubernetes吊舱使用了多少内存和CPU。我为此运行了以下命令: 我收到以下错误: > 如果我们进入pod并运行linux命令,我们会得到相同的输出吗?
这就是我不断得到的: 我有两个吊舱:、,但是如果我使用或使用选项,在这两个吊舱中都看不到任何日志。 这是我的replicationController yaml文件:replicationController yaml文件 我的Docker图像是由这个简单的Docker文件生成的: 有人能帮帮我吗,我怎么能在没有看到任何日志的情况下调试呢?
这是我一直得到的: 如果我通过“docker run”运行docker映像,我就可以毫无问题地运行映像,只是通过kubernetes我得到了崩溃。 有人能帮帮我吗,我怎么能在没有看到任何日志的情况下调试呢?