- addons/ext-proxy/ → addons/ingress-proxypass/ (git mv, история сохранена) - Все переменные Ansible: ext_proxy_* → ingress_proxypass_* - Все имена ресурсов K8s: ext-proxy → ingress-proxypass (namespace, chart, release) - Helm-хелперы: "ext-proxy.*" → "ingress-proxypass.*" - Makefile: addon-ext-proxy → addon-ingress-proxypass - group_vars/all/addons.yml: addon_ext_proxy → addon_ingress_proxypass - playbooks/addons.yml: обновлена ссылка на роль - docs/addons.md, README.md: обновлены все упоминания
36 lines
1.0 KiB
YAML
36 lines
1.0 KiB
YAML
{{/*
|
|
Creates one Endpoints object per proxy, pointing to the external IP(s) and port.
|
|
|
|
Rules:
|
|
- The Endpoints name MUST match the Service name exactly.
|
|
- Multiple IPs in .ips produce multiple addresses → K8s round-robins between them.
|
|
- Port name "http" MUST match the Service port name.
|
|
|
|
Traffic path:
|
|
ingress-nginx → ClusterIP Service → Endpoints → external IP:port
|
|
*/}}
|
|
{{- range .Values.proxies }}
|
|
{{- $proxy := . }}
|
|
{{- $proxyName := include "ingress-proxypass.resourceName" $proxy.name }}
|
|
{{- $ips := $proxy.ips | default (list $proxy.ip) }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Endpoints
|
|
metadata:
|
|
name: {{ $proxyName }}
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "ingress-proxypass.labels" $ | nindent 4 }}
|
|
app.kubernetes.io/component: {{ $proxyName }}
|
|
subsets:
|
|
- addresses:
|
|
{{- range $ips }}
|
|
# External IP — must be reachable from the cluster network
|
|
- ip: {{ . | quote }}
|
|
{{- end }}
|
|
ports:
|
|
- name: http
|
|
port: {{ $proxy.port }}
|
|
protocol: TCP
|
|
{{- end }}
|