gpt4 book ai didi

java - 创建 kubernetes 部署时,Quarkus RestClient 属性的环境值无效

转载 作者:行者123 更新时间:2023-12-02 12:01:37 24 4
gpt4 key购买 nike

按照 Quarkus Rest Client 教程,我需要在 application.properties 文件中添加与此类似的内容:

country-api/mp-rest/url=https://restcountries.eu/rest

使用 Docker 它可以工作,我可以通过参数传递属性值:

docker run -it --privileged --rm --env country-api/mp-rest/url="https://restcountries.eu/rest"mydockerhost/my-project:SNAPSHOT

Kubernetes 的 YAML 文件如下所示:

apiVersion: "apps/v1"
kind: "Deployment"
metadata:
labels:
app.kubernetes.io/name: "my-project"
app.kubernetes.io/version: "SNAPSHOT"
name: "my-project-deployment"
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: "my-project"
app.kubernetes.io/version: "SNAPSHOT"
template:
metadata:
labels:
app.kubernetes.io/name: "my-project"
app.kubernetes.io/version: "SNAPSHOT"
spec:
containers:
- env:
- name: "country-api/mp-rest/url"
value: "https://restcountries.eu/rest"

但是执行命令kubectl apply -f my-projetc.yaml时出现如下错误

部署“my-project-deployment”无效:
* spec.template.spec.containers[0].env[1].name:无效值:“country-api/mp-rest/url”:有效的环境变量名称必须包含字母字符、数字、'_' 、'-' 或 '.',并且不得以数字开头(例如,'my.env-name'、'MY_ENV.NAME' 或 'MyEnvName1',正则表达式用于
验证是'[-._a-zA-Z][-._a-zA-Z0-9]*')

Quarkus 版本:1.3.1.Final

最佳答案

您可以在 application.properties 中使用环境变量,这样您就可以执行如下操作:

country-api/mp-rest/url=${MY_SERVICE_URL}

并在 Yaml 文件中定义 MY_SERVICE_URL

另外,MicroProfile Config 有办法解决您的问题。使用 COUNTRY_API_MP_REST_URL 作为环境变量应该可行(大写一切,用 _ 替换任何非字母数字)。

关于java - 创建 kubernetes 部署时,Quarkus RestClient 属性的环境值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61015005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com