【问题标题】:Syntax Error in Yaml File - missed comma between flow collection entriesYaml 文件中的语法错误 - 流集合条目之间缺少逗号
【发布时间】:2021-04-23 13:31:42
【问题描述】:

我们在 AKS 中部署了一个应用程序,我们使用的 kubernetes 版本是 1.15 现在我们想将 Kubernetes 升级到 1.16,我注意到一些 API 在 1.16 中已被弃用。我们有 deployment.yaml 文件,其中我不得不改变从

apiVersion:extensions/v1beta1 到 apiVersion:apps/v1 用于部署。

进行此更改后,我看到部署 YAML 未能通过另一个条目的 lint 测试:

    - name  : APP_HOST
    {{- range $host := .Values.ingress.hosts }}
      value: {{ $host }}
    {{- end }}

错误:

npx yaml-lint yamlint deployment.yaml

npx:在 14.04 秒内安装了 45 个

× YAML Lint 部署失败。yaml

× 第 88 行第 11 列的流集合条目之间缺少逗号: {{- range $host := .Values.ingress ...

有人可以帮助我了解所需的语法吗?请注意,它以前工作正常。不确定我是否添加了额外的空间或损坏了文件。

谢谢

【问题讨论】:

    标签: kubernetes syntax yaml kubernetes-helm azure-aks


    【解决方案1】:

    您的语法看起来像正确的 Helm 模板,包括正确的空白控件。但是,它不是有效的 YAML;模板{{ ... }} 语法看起来至少有点像内联映射{ key: value },这让linter 感到困惑。

    您不能通过yamllint 或其他纯 YAML 验证器运行未渲染的 Helm 模板文件。您可以运行helm template 将模板呈现为纯文本,然后在其上运行yamllint。当前版本的 Helm 将尝试在生成 YAML 时对其进行解析,因此只需运行 helm template 即可为您提供一些防止空白错误的保护。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      相关资源
      最近更新 更多