鹰潭做网站的公司,宣传推广计划,重庆家居网站制作公司,广州网站排名怎么优化Values文件 在上一部分我们了解了Helm模板提供的内置对象。其中一个是Values对象。该对象提供了传递到chart的方法#xff0c;其内容来自多个位置#xff1a;
1、chart中的values.yaml文件
2、如果是子chart#xff0c;就是父chart中的values.yaml文件
3、使用-f参数其内容来自多个位置
1、chart中的values.yaml文件
2、如果是子chart就是父chart中的values.yaml文件
3、使用-f参数helm install -f myvals.yaml ./mychart 传递到 helm install 或 helm upgrade的values文件
4、使用--set比如 helm install --set foobar ./mychart 传递的单个参数
以上列表有明确顺序默认使用values.yaml可以被父chart的values.yaml覆盖继而被用户提供values文件覆盖最后会被--set参数覆盖优先级为values.yaml最低--set参数最高。
values文件是普通的YAML文件。现在编辑mychart/values.yaml然后编辑配置映射ConfigMap目标那。
删除values.yaml中的默认内容仅设置一个参数
favoriteDrink: coffee
favoriteDrink: coffee
现在可以在模板中使用它
apiVersion: v1
kind: ConfigMap
metadata: name: {{ .Release.Name }}-configmap
data: myvalue: Hello World drink: {{ .Values.favoriteDrink }}
piVersion: v1
kind: ConfigMap
metadata:name: {{ .Release.Name }}-configmap
data:myvalue: Hello Worlddrink: {{ .Values.favoriteDrink }}
注意最后一行favoriteDrink是Values的一个属性 {{ .Values.favoriteDrink }}。
$ helm install geared-marsupi ./mychart --dry-run --debug
$ helm install geared-marsupi ./mychart --dry-run --debug
install.go:158: [debug] Original chart version:
install.go:175: [debug] CHART PATH: /home/bagratte/src/playground/mychartNAME: geared-marsupi
LAST DEPLOYED: Wed Feb 19 23:21:13 2020
NAMESPACE: default
STATUS: pending-install
REVISION: 1
TEST SUITE: None
USER-SUPPLIED VALUES:
{}COMPUTED VALUES:
favoriteDrink: coffeeHOOKS:
MANIFEST:
---
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: geared-marsupi-configmap
data:myvalue: Hello Worlddrink: coffee
由于默认的values.yaml文件中设置了favoriteDrink的值为coffee则这个显示在了模板中。可以在调用helm install 时设置--set很容易就能覆盖这个值。
$ helm install solid-vulture ./mychart --dry-run --debug --set
$ helm install solid-vulture ./mychart --dry-run --debug --set favoriteDrinkslurm
install.go:158: [debug] Original chart version:
install.go:175: [debug] CHART PATH: /home/bagratte/src/playground/mychartNAME: solid-vulture
LAST DEPLOYED: Wed Feb 19 23:25:54 2020
NAMESPACE: default
STATUS: pending-install
REVISION: 1
TEST SUITE: None
USER-SUPPLIED VALUES:
favoriteDrink: slurmCOMPUTED VALUES:
favoriteDrink: slurmHOOKS:
MANIFEST:
---
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: solid-vulture-configmap
data:myvalue: Hello Worlddrink: slurm
由于--set比默认的values.yaml文件优先级更高模板就生成了drink: slurm。
values文件也可以包含更多结构话的内容。比如我们可以在values.yaml文件中创建一个favoriate项然后添加一些key
favorite: drink: coffee food: pizza
favorite:drink: coffeefood: pizza
现在需要稍微改一些模板
apiVersion: v1
kind: ConfigMap
metadata: name: {{ .Release.Name }}-configmap
data: myvalue: Hello World drink: {{ .Values.favorite.drink }} food: {{ .Values.favorite.food }}
apiVersion: v1
kind: ConfigMap
metadata:name: {{ .Release.Name }}-configmap
data:myvalue: Hello Worlddrink: {{ .Values.favorite.drink }}food: {{ .Values.favorite.food }}
虽然可以这样构造数据但还是建议构建更加平坦的浅层树。以后想要给子chart赋值时会看到如何使用树结构给value命名。 删除默认的key
如果需要从默认的values中删除key可以将key设置为nullHelm将在覆盖的value合并时删除这个key。
比如稳定的Drupal允许在配置自定义镜像时配置活动探针。默认值为httpget
livenessProbe: httpGet: path: /user/login port: http initialDelaySeconds: 120
livenessProbe:httpGet:path: /user/loginport: httpinitialDelaySeconds: 120
如果您想替换掉httpGet用exec重写活动探针使用--set livenessProbe.exec.command[cat,docroot/CHANGELOG.txt]Helm会把默认的key和重写的key合并在一起从而生成以下YAML
livenessProbe: httpGet: path: /user/login port: http exec: command: - cat - docroot/CHANGELOG.txt initialDelaySeconds: 120
livenessProbe:httpGet:path: /user/loginport: httpexec:command:- cat- docroot/CHANGELOG.txtinitialDelaySeconds: 120
因为Kubernetes中不能声明多个活动探针句柄从而应用发布会失败。为了解决这个问题Helm可以指定通过设定null来删除livenessProbe.httpGet:
helm install stable/drupal --set imagemy-registry/drupal:0.1.0 --set livenessProbe.exec.command[cat,docroot/CHANGELOG.txt] --set livenessProbe.httpGetnull
helm install stable/drupal --set imagemy-registry/drupal:0.1.0 --set livenessProbe.exec.command[cat,docroot/CHANGELOG.txt] --set livenessProbe.httpGetnull
在这之前我们已经看到了几个内置对象并用它们将信息传递到模板中。现在来模板引擎的另一部分方法和管道。 ————————————
仅用于本人学习
来源Helm | Docs