首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GitLab CI/CD AutoDevOps自定义Helm安装转义ingress.annotation字符串

GitLab CI/CD AutoDevOps自定义Helm安装转义ingress.annotation字符串
EN

Stack Overflow用户
提问于 2021-04-30 11:04:05
回答 1查看 179关注 0票数 1

我需要根据管道yaml文件中的变量动态地调整入口注释。“普通”属性工作非常好,但是注释有特殊的字符,我似乎找不到正确使用它的方法。精细工程如下:

代码语言:javascript
复制
    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中:

代码语言:javascript
复制
metadata:
  name: my-service-ingress
  namespace: my-service
  annotations:
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"

如您所见,该属性有一个带有特殊字符的长名称。而且/我已经尝试过像在直接bash环境中那样转义它们,但是这里似乎不起作用,在这里,我将这些参数存储在一个yaml变量中,该变量将被管道用来创建显示的yaml文件。我的尝试:

代码语言:javascript
复制
--set-string ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-passthrough"=$sslPaththrough \

任何想法或建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-30 16:32:54

正确的方法(现在为我工作)似乎是双倍转义作为属性名称一部分的点,而不显示层次结构:

代码语言:javascript
复制
--set-string ingress.annotations.nginx\\.ingress\\.kubernetes\\.io/ssl-passthrough=$sslPaththrough \
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67332798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档