首页 > 解决方案 > 如何在 application.yml 中使用 quarkus.kubernetes-config.secrets.enabled?

问题描述

我正在努力使用 application.yml 读取秘密。

当我做:

quarkus:
    application:
        name: pi-quarkus-fund-persistence-service
    kubernetes-config:
        enabled: true
        fail-on-missing-config: false
        config-maps: pi-quarkus-fund-persistence-service-configmap
        secrets: pi-quarkus-fund-persistence-service-secrets
            enabled: true

构建失败:

Failed to build quarkus application: mapping values are not allowed here
    in 'reader', line 16, column 20:
                enabled: true
                        ^

什么时候:

quarkus:
    application:
        name: pi-quarkus-fund-persistence-service
    kubernetes-config:
        enabled: true
        secrets.enabled: true
        fail-on-missing-config: false
        config-maps: pi-quarkus-fund-persistence-service-configmap
        secrets: pi-quarkus-fund-persistence-service-secrets

构建失败:

Unrecognized configuration key "quarkus.kubernetes-config."secrets.enabled"" was provided; it will be ignored; verify that the dependency extension for this configuration is set or you did not make a typo

什么时候:

quarkus.kubernetes-config.secrets.enabled: true
quarkus:
    application:
        name: pi-quarkus-fund-persistence-service
    kubernetes-config:
        enabled: true
        fail-on-missing-config: false
        config-maps: pi-quarkus-fund-persistence-service-configmap
        secrets: pi-quarkus-fund-persistence-service-secrets

构建成功,但服务在启动时失败:

配置是从 Secrets [pi-quarkus-fund-persistence-service-secrets] 中读取的,但quarkus.kubernetes-config.secrets.enabled 是 false。检查您的应用程序的服务帐户是否有足够的权限来读取机密。

当我查看此提交时:https ://github.com/quarkusio/quarkus/commit/93f00af9444deafe950afa1fad60f56fceb81ca3

第 48 行:// TODO:应该在这里使用转换器

可能是因为该属性不是从yaml转换而来的吗?

标签: kubernetesclientruntimequarkuskubernetes-secrets

解决方案


我认为这只是关于如何编写正确的 YAML。它应该是:

quarkus:
    application:
        name: pi-quarkus-fund-persistence-service
    kubernetes-config:
        enabled: true
        fail-on-missing-config: false
        config-maps: pi-quarkus-fund-persistence-service-configmap
        secrets:
            ~: pi-quarkus-fund-persistence-service-secrets
            enabled: true

回想起来,quarkus.kubernetes-config.secrets.enabled这不是这个配置属性的最佳选择,对此感到抱歉:-(


推荐阅读