Helm - 非常不寻常且不规则的 Kubernetes YAML 格式的文档规范

Helm - documentation specification for very unusual and not regular Kubernetes YAML format

在微软 docs 我发现我应该定义这个 Helm YAML 文件来创建 Kubernetes Ingress Controller:

controller:
  service:
    loadBalancerIP: 10.240.0.42
    annotations:
      service.beta.kubernetes.io/azure-load-balancer-internal: "true"

所以你可以很容易地注意到它没有通常的 Kubernetes apiVersion 和 kind 规范。 之后,在我需要执行 helm 命令以创建 Ingress 的同一 link 上:

helm install nginx-ingress ingress-nginx/ingress-nginx \
    -f internal-ingress.yaml \
..............

如您所见 - 建议的 Helm 文件不是很常见,但我想坚持使用那些官方的 Microsoft 说明! 同样,它没有使用常规 apiVersion 和类型符号创建 Ingress Controller 的规范,就像在互联网上可以找到的许多 links 和示例一样。

https://github.com/helm/charts/blob/master/stable/nginx-ingress/templates/controller-service.yaml https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/

所以我真的觉得很迷茫!!!你能帮我解决这个问题吗——我需要设置它的端口,但我真的找不到这个实际有效的 YAML Microsoft 示例的规范文档和示例!!!

controller:
  service:
    loadBalancerIP: 10.240.0.42
    annotations:
      service.beta.kubernetes.io/azure-load-balancer-internal: "true"

在哪里以及如何找到正确的语法我如何将常规的“apiVersion”和“kind”规范“翻译”成这个?

为什么他们用这种不同的格式以这种方式混淆??? 请帮忙!谢谢

-f 没有设置 Microsoft 文档中所述的“清单”。根据 helm install --help:

-f, --values strings specify values in a YAML file or a URL (can specify multiple)

默认 values file 包含要传递到图表中的值。

用户提供的 -f 值与默认值文件合并以生成最终清单。优先顺序为:

  • The values.yaml file in the chart
  • If this is a subchart, the values.yaml file of a parent chart
  • A values file if passed into helm install or helm upgrade with the -f flag (helm install -f myvals.yaml ./mychart)
  • Individual parameters passed with --set (such as helm install --set foo=bar ./mychart)

The list above is in order of specificity: values.yaml is the default, which can be overridden by a parent chart's values.yaml, which can in turn be overridden by a user-supplied values file, which can in turn be overridden by --set parameters.

你在做什么是覆盖默认值文件顶部的 controller 值。您可以找到 ingress-nginx 图表 here.

的 original/default 值