Я хотел бы создать вход nginx, который я могу связать с зарезервированным IP-адресом. Основная причина в том, что я хочу свести к минимуму ручные шаги. В настоящее время инфраструктура автоматически настраивается с помощью Terraform, но я не могу заставить nginx-ingress использовать зарезервированный IP-адрес. У меня уже работает nginx-ingress, но он создает собственный IP-адрес.
Согласно сайту nginx-ingress (https://kubernetes.github.io/ingress-nginx/examples/static-ip/), это должно быть возможно. Сначала нужно создать службу балансировки нагрузки:
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress-lb
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
externalTrafficPolicy: Local
type: LoadBalancer
loadBalancerIP: 34.123.12.123
ports:
- port: 80
name: http
targetPort: 80
- port: 443
name: https
targetPort: 443
selector:
# Selects nginx-ingress-controller pods
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
Однако затем можно обновить IP-адрес с помощью файла nginx-ingress-controller.yaml
с флагом --publish-service
. Тем не менее, я устанавливаю это через helm:
helm install stable/nginx-ingress --name my-nginx --set rbac.create=true
Как связать службу публикации с nginx-ingress-lb в моей установке (или обновлении) helm.