当前位置: 首页 > 知识库问答 >
问题:

openshift集群启动后quarkus pod初始化中出现奇怪问题

龚远
2023-03-14

我正在使用夸克oidc通过keycloak保护资源。这是使用的代码:

@Path("/api")
public class NamasteResource {

    @Inject
    JsonWebToken jwt;

    @GET
    @Path("health")
    @Produces(MediaType.TEXT_PLAIN)
    public String health() {
        return "I'm ok";
    }

    @GET
    @RolesAllowed("USERS")
    @Path("namaste-secured")
    @Produces(MediaType.TEXT_PLAIN)
    public String namasteSecured() {
    String userName = jwt.getName();
        return "Hello " + userName;
    }
}

健康资源用于pod的准备探测。这里的问题是,当openshift集群启动并部署pod时,我会收到一个内部服务器错误,应用程序不再工作。这是异常跟踪:

我试过延迟pod初始化健康检查时间,但总是只有在pod第一次部署时才会出现异常。如果pod重新部署,那么一切正常。那么,在openshift集群启动后,我应该怎么做才能使pod初始化成功?

这是我的申请。属性文件配置:

quarkus.http.cors=true
quarkus.oidc.auth-server-url=http://keycloak-myproject.192.168.1.110.nip.io/auth/realms/secured-realm
quarkus.oidc.client-id=namaste

我用的是Openshift 3.11和quarkus 1.13.6 .最终版本

共有1个答案

东郭勇
2023-03-14

这很可能是由于在部署pod时KeyCoap尚未准备就绪-<code>quarkus oidc</code>在OpenShift中部署时不会尝试不同的连接逻辑,它所做的一切都是尝试连接到<code>quarkus.oidc.auth服务器URL</code>中设置的URL。在<code>1.13.x<code>中处理它的方法是使用<code>quarkus.oidc。连接延迟属性,例如,将其设置为3M,等-quarkus oidc在这种情况下将继续尝试连接3M。这里有一个小的竞争条件,即使KeyCoap变得可接触,它可能仍然没有完成加载自定义领域文件,正如Quarkus用户最近发现的那样-将很快打开PR以解决此特定问题。最好的选择是尝试2.0.0。CR3-在那里quarkus oidc将恢复,即使在启动时与KeyCoap的连接失败。HTH

 类似资料:
  • 我按照步骤创建了HelloWorld示例,但它没有运行。它给出了以下错误: 初始化引导层java.lang.module.FindException时出错:读取模块:F:\Develop\Eclipse\HelloWorld\bin时出错,原因是:java.lang.module.InvalidModuleDescriptoRexception:HelloWorld.class在顶级目录中找到(模

  • 问题内容: 我正在尝试使用从Web服务接收的以下字符串初始化JSONObject: 它似乎是有效的json(它在jsonlint.com中进行了验证),但是使用它初始化JSONObject时,我得到了: 有人可以帮忙吗? 谢谢 问题答案: 似乎您正在尝试从带有额外引号的String实例化它。您需要删除包装引号(我不使用您的字符串,而是给出一个示例使其更清楚): 还行吧: 这不是:

  • 我一直在使用Spark2.0.1,但试图通过将tar文件下载到我的本地并更改路径来升级到更新的版本,即2.1.1。 然而,现在当我尝试运行任何程序时,它在初始化SparkContext时都失败了。即。

  • 本文介绍如何对 Kubernetes 上的集群进行初始化配置完成初始化账号和密码设置,以及批量自动执行 SQL 语句对数据库进行初始化。 注意: 如果 TiDB 集群创建完以后手动修改过 root 用户的密码,初始化会失败。 以下功能只在 TiDB 集群创建后第一次执行起作用,执行完以后再修改不会生效。 配置 TidbInitializer 请参考 TidbInitializer 示例和 API

  • 我使用spring初始化工具来生成一些工作骨架,我使用MAVEN项目的默认值 https://start.spring.io/ 当我运行(在项目中没有做任何更改)时,我得到了以下错误,知道如何克服它吗? 使现代化 这是pom。xml文件,我没有更改任何内容。。。 更新2

  • 总之,我在Jaspersoft Studio中编辑我的Jasper报告时遇到了问题,显示了以下异常。 为了导致错误,我所要做的就是尝试编辑任何文本字段或静态文本。下面是我的报告和项目fonts.jar文件中的fonts.xml。我尝试使用的字体是Roboto,包含在JasperSoft的首选项部分,我必须包含al ttf。 这发生在项目的所有报告中,这里是一个示例。 项目的fonts.jar