使用头盔图表部署Nginx负载平衡服务时,头盔values.yaml应该是什么样?

问题描述 投票:1回答:1

我通常是掌舵人和Kubernetes的初学者。最近,我已经开始尝试部署到AKS集群,该集群将包括隐藏在负载平衡NGINX节点后面的多个Cluster IP服务。今天,我正在使用Helm 2.2,并且已经成功安装了NGINX节点。我的理解是,对于Helm中的每个服务图表,我都使用注释启用Nginx路由。如我所见,我应该能够修改图表顶部的values.yaml文件(无其他地方)以执行这些操作。

service:
  type: ClusterIP
  port: 80

ingress:
  enabled: true
  annotations: 
    kubernetes.io/ingress.class: nginx
  hosts:
    - chart-example.local

[当我执行以上操作时(为简洁起见,文件的其余部分被排除在外)我收到错误消息:“将YAML转换为JSON:yaml:第38行:未找到所需的密钥。”

第38行对应于入口部分的末尾(之后是空白行)。我假设我的Yaml格式错误,并且我一生都找不到以这种方式使用此文件的任何示例。我做对了吗?如果是,我在Yaml中犯了什么错误。如果不是,我应该怎么做才能通过入口文件路由到我的许多服务之一?在这种时尚中是否有任何实际的values.yaml文件设置示例可以在某处看到?每次搜索时,我都会发现Ingress.yaml文件被修改为Kubernetes对象,而不是模板化的Helm图表。

nginx kubernetes yaml kubernetes-helm
1个回答
1
投票

事实证明,使用values.yaml,我没有给人们一个公平的机会。令人讨厌的yaml行发生在[[after我提供的代码片段中,很微妙。确保提供正确的入口定义所必需的代码是:

ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx hosts: - host: chart-example.local paths: - /test tls: {}
我的错误是随后出现的tls行。我忽略了意识到tls节的独立性意味着它已包含在ingress节中,并且具有

一个缺少的空格

_tls: {}
代替

__tls: {}

我的示例现在正确呈现了模板(下划线仅用于说明空格的数量,因此当然应该将其删除)。
© www.soinside.com 2019 - 2024. All rights reserved.