解析 nginx 入口文件的 tls 部分时出错

Error parsing tls section of nginx ingress file

我的入口中有以下内容

spec:
  tls:
    - hosts:
      - domain.com
      - www.domain.com
      secretName: secret-prod
      - stage.domain.com
      - www.stage.domain.com
      secretName: secret-stage

我从各种示例中复制了此格式,但是当我尝试在 kubectl 中应用该文件时它会抛出以下错误

error: error parsing nginx/ingress.yml: error converting YAML to JSON: yaml: line 13: did not find expected key

第 13 行是 secretName: secret-prod

这种格式有什么问题?

你需要像这样把它们分开:

tls:
- secretName: secret-prod
  hosts:
  - domain.com
  - www.domain.com
- secretName: secret-stage
  hosts:
  - stage.domain.com
  - www.stage.domain.com

有关完整示例,请参阅 https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/multi-tls/multi-tls.yaml