test.yaml所在目录helm/templates
kind: Endpoints apiVersion: v1 metadata: name: {{ .Values.provider.service }}-3-6-hcp namespace: {{ .Values.provider.namespace }} subsets: - addresses: {{ range .Values.subsets.addresses }} -{{ range $key, $val := . }} {{ $key }}: {{ $val | quote }} {{ end }} {{ end }} # - ip: <IP-2> ports: - port: {{ .Values.subsets.ports.port }} name: http
values.yaml所在目录helm
subsets: addresses: - ip: 127.0.0.1 - ip: 127.0.0.2 - ip: 127.0.0.2 ports: port: 8080
YAML 数组
以 - 开头的行表示构成一个数组:
- A - B - C
YAML 支持多维数组,可以使用行内表示:
key: [value1, value2, ...]- - A - B - C
一个相对复杂的例子:
companies: - id: 1 name: company1 price: 200W - id: 2 name: company2 price: 500W
意思是 companies 属性是一个数组,每一个数组元素又是由 id、name、price 三个属性构成。
数组也可以使用流式(flow)的方式表示:
companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]
复合结构
数组和对象可以构成复合结构,例:
languages: - Ruby - Perl - Python websites: YAML: yaml.org Ruby: ruby-lang.org Python: python.org Perl: use.perl.org
转换为 json 为:
{ languages: [ 'Ruby', 'Perl', 'Python'], websites: { YAML: 'yaml.org', Ruby: 'ruby-lang.org', Python: 'python.org', Perl: 'use.perl.org' } }