当我部署到位于稳定状态的图表时,我试图通过公差。公差应应用于模板目录中的特定YAML文件,而不是默认情况下对values.yaml文件的应用。
我已经使用补丁程序进行了申请,我可以看到,如果将其应用于正确的Service(即DaemonSet),则所需的更改将起作用。
当前,我正在尝试“ helm install -f tolerations.yaml --name release_here”
这只是在运行get chart release_here时创建一个一次性条目,并且不在正确的服务YAML中
答案 0 :(得分:0)
报价要求
该公差应应用于以下位置中的特定YAML文件: 模板目录
首先,为了使其实现,您的特定头盔图文件需要允许这种最终用户自定义。
以下是基于stable/kiam图表的示例:
kiam/templates/server-daemonset.yaml的定义
{{- if .Values.server.enabled -}}
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
labels:
app: {{ template "kiam.name" . }}
chart: {{ template "kiam.chart" . }}
component: "{{ .Values.server.name }}"
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
name: {{ template "kiam.fullname" . }}-server
spec:
selector:
matchLabels:
app: {{ template "kiam.name" . }}
component: "{{ .Values.server.name }}"
release: {{ .Release.Name }}
template:
metadata:
{{- if .Values.server.podAnnotations }}
annotations:
{{ toYaml .Values.server.podAnnotations | indent 8 }}
{{- end }}
labels:
app: {{ template "kiam.name" . }}
component: "{{ .Values.server.name }}"
release: {{ .Release.Name }}
{{- if .Values.server.podLabels }}
{{ toYaml .Values.server.podLabels | indent 8 }}
{{- end }}
spec:
serviceAccountName: {{ template "kiam.serviceAccountName.server" . }}
hostNetwork: {{ .Values.server.useHostNetwork }}
{{- if .Values.server.nodeSelector }}
nodeSelector:
{{ toYaml .Values.server.nodeSelector | indent 8 }}
{{- end }}
tolerations: <---- TOLERATIONS !
{{ toYaml .Values.server.tolerations | indent 8 }}
{{- if .Values.server.affinity }}
affinity:
{{ toYaml .Values.server.affinity | indent 10 }}
{{- end }}
volumes:
- name: tls
用您的values.yaml
覆盖默认customs-values
,以在DeamonSet的Pod规范中设置容差。
server:
enabled: true
tolerations: ## Agent container resources
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: foo.bar.com/role
operator: In
values:
- master
渲染结果清单文件,以查看使用--values /-set参数使用install / upgrade helm命令覆盖默认值时的外观:
helm template --name my-release . -x templates/server-daemonset.yaml --values custom-values.yaml
渲染文件(输出被截断):
---
# Source: kiam/templates/server-daemonset.yaml
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
labels:
app: kiam
chart: kiam-2.5.1
component: "server"
heritage: Tiller
release: my-release
name: my-release-kiam-server
spec:
selector:
matchLabels:
app: kiam
component: "server"
release: my-release
template:
metadata:
labels:
app: kiam
component: "server"
release: my-release
spec:
serviceAccountName: my-release-kiam-server
hostNetwork: false
tolerations:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: foo.bar.com/role
operator: In
values:
- master
volumes:
...
我希望这会帮助您解决问题。