我需要根据管道yaml文件中的变量动态地调整入口注释。“普通”属性工作非常好,但是注释有特殊的字符,我似乎找不到正确使用它的方法。精细工程如下:
HELM_UPGRADE_EXTRA_ARGS: "
--set application.secretName=$APPLICATION_SECRET_NAME \
--set livenessProbe.path=$HEALTHCHECK_PATH \
--set readinessProbe.path=$HEALTHCHECK_PATH \
--set livenessProbe.scheme=$HTTPS_SCHEME \
--set readinessProbe.scheme=$HTTPS_SCHEME \
--set ingress.tls.enabled=$tlsEnabled \
--set ingress.tls.secretName=$certName \
--set service.externalPort=$SERVER_PORT \
--set service.internalPort=$SERVER_PORT"现在,我想添加属性ssl路径,通过它嵌套在最后的yaml中:
metadata:
name: my-service-ingress
namespace: my-service
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"如您所见,该属性有一个带有特殊字符的长名称。而且/我已经尝试过像在直接bash环境中那样转义它们,但是这里似乎不起作用,在这里,我将这些参数存储在一个yaml变量中,该变量将被管道用来创建显示的yaml文件。我的尝试:
--set-string ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-passthrough"=$sslPaththrough \任何想法或建议都是非常感谢的!
发布于 2021-04-30 16:32:54
正确的方法(现在为我工作)似乎是双倍转义作为属性名称一部分的点,而不显示层次结构:
--set-string ingress.annotations.nginx\\.ingress\\.kubernetes\\.io/ssl-passthrough=$sslPaththrough \https://stackoverflow.com/questions/67332798
复制相似问题