使用 Configmap 跨多个 Ingresses 定义白名单注释
Using a Configmap to define whitelist annotations across multiple Ingresses
在 Kubernetes 中,是否可以使用 Configmap 作为注解的值?我想这样做的原因是要跨多个入口重用 IP 白名单。或者,还有其他方法可以解决这个问题吗?
不幸的是,Kubernetes 中没有任何功能。但是作为 iomv wrote, you could try to use helm.
Helm 允许您在图表中使用变量,例如:
metadata:
{{- if .Values.controller.service.annotations }}
annotations:
{{ toYaml .Values.controller.service.annotations | indent 4 }}
{{- end }}
labels:
{{- if .Values.controller.service.labels }}
{{ toYaml .Values.controller.service.labels | indent 4 }}
{{- end }}
app: {{ template "nginx-ingress.name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
component: "{{ .Values.controller.name }}"
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
name: {{ template "nginx-ingress.controller.fullname" . }}
这部分代码来自nginx-ingress图表。
如您所见,您可以获取此图表并根据需要更新值。
在 Kubernetes 中,是否可以使用 Configmap 作为注解的值?我想这样做的原因是要跨多个入口重用 IP 白名单。或者,还有其他方法可以解决这个问题吗?
不幸的是,Kubernetes 中没有任何功能。但是作为 iomv wrote, you could try to use helm.
Helm 允许您在图表中使用变量,例如:
metadata:
{{- if .Values.controller.service.annotations }}
annotations:
{{ toYaml .Values.controller.service.annotations | indent 4 }}
{{- end }}
labels:
{{- if .Values.controller.service.labels }}
{{ toYaml .Values.controller.service.labels | indent 4 }}
{{- end }}
app: {{ template "nginx-ingress.name" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
component: "{{ .Values.controller.name }}"
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
name: {{ template "nginx-ingress.controller.fullname" . }}
这部分代码来自nginx-ingress图表。 如您所见,您可以获取此图表并根据需要更新值。