我正在为我们的k8s集群安装fluent-bit。 我们的仓库里有它的helm图表,Argo正在进行部署。
在helm图表中的资源之一是一个配置映射,其数据值如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: fluent-bit
labels:
app: fluent-bit
data:
...
output-s3.conf: |
[OUTPUT]
Name s3
Match *
bucket bucket/prefix/random123/test
region ap-southeast-2
...
我的问题是如何将桶的价值外部化,以便它不是硬编码的(请注意,桶价值具有随机数)?由于s3存储桶由在同一主节点上运行的单独应用程序创建,因此随机生成的s3存储桶名称可用作环境变量,例如,在节点上执行“echo $s3bucketName”将给出实际值。
我尝试在配置映射上执行以下操作,但它没有起作用,并且在pod上检查时仅被设置为它本来的样子:
bucket $(echo $s3bucketName)
使用Helm,我知道可以像下面这样实现,然后可以使用脚本类似
helm --set
从环境变量中设置值。但是通过argocd自动进行部署,所以没有地方执行helm --set
命令,请告诉我是否存在其他方法。bucket {{.Values.s3.bucket}}
TIA
configmap
,在其中可以访问该变量。 - Saikat Chakraborttyargo app set
命令覆盖参数值(更多信息请参见此处)。 - user15659347