gpt4 book ai didi

kubernetes - Helm 图表为单个键传递多个环境值

转载 作者:行者123 更新时间:2023-12-02 11:35:42 25 4
gpt4 key购买 nike

我是掌 Helm chart 的新手,我正在尝试将一些环境变量传递给架构注册表

值.yaml

replicaCount: 1

image:
repository: confluentinc/cp-schema-registry
tag: 5.0.0
pullPolicy: IfNotPresent
env:
- name: "SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS"
value: "PLAINTEXT://xx.xxx.xx.x:9092,PLAINTEXT://xx.xxx.xx.x:9092,PLAINTEXT://xx.xxx.xx.x:9092"
- name: "SCHEMA_REGISTRY_LISTENERS"
value: "http://0.0.0.0:8083"

但是这些环境变量并没有传递给 pod。

我尝试作为安装命令的一部分传递,但它失败了,因为我无法传递多个值,谁能告诉我您是如何传递多个环境变量的
ubuntu@ip-10-xx-x-xx:~/helm-test$ helm install helm-test-0.1.0.tgz --set SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS=PLAINTEXT://xx.xxx.xx.xx:9092,PLAINTEXT://xx.xxx.xx.xx:9092,PLAINTEXT://xx.xxx.xx.xx:9092,SCHEMA_REGISTRY_LISTENERS=http://0.0.0.0:8083
Error: failed parsing --set data: key "97:9092" has no value (cannot end with ,)

在尝试在 values.yaml 文件中以及作为安装命令传递环境值之后
replicaCount: 1

image:
repository: confluentinc/cp-schema-registry
tag: 5.0.0
pullPolicy: IfNotPresent
env:
- name:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: "PLAINTEXT://10.xxx.x.xx:9092,PLAINTEXT://10.xxx.x.xx:9092,PLAINTEXT://10.xxx.x.xx.xxx:9092"
SCHEMA_REGISTRY_LISTENERS: "http://0.0.0.0:8083"


helm install helm-test-0.1.0.tgz --set env.name.SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS="PLAINTEXT://10.xx.x.xx:9092\,PLAINTEXT://10.xx.x.xx:9092\,PLAINTEXT://10.xx.x.xx:9092", --set env.nameSCHEMA_REGISTRY_LISTENERS="http://0.0.0.0:8083"

我逃避了逗号,因为它抛出了一个错误
错误:解析失败--设置数据:键“xxx:9092”没有值(不能以,结尾)

当我尝试描述部署时,我发现我的环境值没有显示。
kubectl describe deployment/crusty-aardwolf-helm-test
Name: crusty-aardwolf-helm-test
Namespace: default
CreationTimestamp: Wed, 10 Oct 2018 14:23:37 +0000
Labels: app.kubernetes.io/instance=crusty-aardwolf
app.kubernetes.io/managed-by=Tiller
app.kubernetes.io/name=helm-test
helm.sh/chart=helm-test-0.1.0
Annotations: deployment.kubernetes.io/revision=1
Selector: app.kubernetes.io/instance=crusty-aardwolf,app.kubernetes.io/name=helm-test
Replicas: 1 desired | 1 updated | 1 total | 0 available | 1 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app.kubernetes.io/instance=crusty-aardwolf
app.kubernetes.io/name=helm-test
Containers:
helm-test:
Image: confluentinc/cp-schema-registry:5.0.0
Port: 80/TCP
Host Port: 0/TCP
Liveness: http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
Readiness: http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
Environment: <none>

为什么我的环境值没有传递到我的容器?有人可以指出我正确的方向。

最佳答案

values.yaml 更多的是实际值。您可以使用 go template如果您愿意,可以替换,但不太常见。 (这些替换稍后会在模板中使用)

当您指定 --set 时例如helm install --set foo=bar foo 将被 bar 覆盖在 values.yaml文件。你可能真正想要的是这样的:

...
env:
name:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: "PLAINTEXT://xx.xxx.xx.x:9092,PLAINTEXT://xx.xxx.xx.x:9092,PLAINTEXT://xx.xxx.xx.x:9092"
SCHEMA_REGISTRY_LISTENERS: "http://0.0.0.0:8083"

然后在 helm install命令行:
helm install helm-test-0.1.0.tgz --set env.name.SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS="PLAINTEXT://xx.xxx.xx.xx:9092,PLAINTEXT://xx.xxx.xx.xx:9092,PLAINTEXT://xx.xxx.xx.xx:9092" --set env.nameSCHEMA_REGISTRY_LISTENERS="http://0.0.0.0:8083"

有关如何设置值的更多信息 here .

关于kubernetes - Helm 图表为单个键传递多个环境值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52730163/

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