即使使用不正确的 http url,Openshift 就绪性和活性探测也永远不会失败

Openshift readiness and liveness probe never failing even with incorrect http url

我是 运行 OpenShift Pod 中的 Spring Boot 2.0.0 应用程序。为了执行就绪和活跃度探测,我依赖 spring 启动执行器健康检查。我的应用程序属性文件具有以下属性:

server.address=127.0.0.1
management.server.address=0.0.0.0
server.port=8080
management.server.port=8081
management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
management.endpoint.health.enabled=true
management.endpoints.web.exposure.include=health,info
management.endpoint.health.show-details=always
management.security.enabled=false

下面是readiness和liveness probe的相关配置。

livenessProbe:
    failureThreshold: 3
    httpGet:
      path: /mmcc
      port: 8081
      scheme: HTTP
    initialDelaySeconds: 35
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 15


readinessProbe:
    failureThreshold: 3
    httpGet:
      path: /jjkjk
      port: 8081
      scheme: HTTP
    initialDelaySeconds: 30
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 15

我的预期是我的就绪性和活性探测应该因这些随机 url 而失败,但它们正在成功。 不知道我在这里错过了什么。请帮忙。

Simon 的回答给了我一个起点,我寻找 curl -vvv localhost:8081/jjkjk 输出。 URL 将我重定向到登录 url 所以我认为这是因为我的类路径中有 spring 安全性。 所以我在我的属性文件中添加了:

management.endpoints.web.exposure.include=health,info

并添加

@Configuration
public class ActuatorSecurity extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests()
            .anyRequest().permitAll()
    }

}

这解决了我的问题,无需凭据即可访问 url。