Есть EKS Cluster, плагин AWS CNI заменен на Calico (причина установки Calico здесь). После установки диаграммы с помощью руля я выполняю kubectl describe ingress -n my-ns
и вижу ошибку: ...Failed deploy model due to Internal error occurred: failed calling webhook "mtargetgroupbinding.elbv2.k8s.aws"...
My ingress.yaml
:
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "front.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "front.labels" . | nindent 4 }}
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/target-type: instance
alb.ingress.kubernetes.io/subnets: subnet-0bbd31e479f6211d7, subnet-017bb4e710d71fcc1, subnet-0e8474c825ada2138 # Public Subnets
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
- http:
paths:
- path: /hello
backend:
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
service.yaml
:
apiVersion: v1
kind: Service
metadata:
name: {{ include "front.fullname" . }}
labels:
{{- include "front.labels" . | nindent 4 }}
spec:
type: NodePort
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "front.selectorLabels" . | nindent 4 }}
В консоли AWS вроде все в порядке, ALB имеет активный статус, но следовать DNS-имени не удалось.
Интересный факт, если я заменю тип Service на LoadBalancer, Classic Load Balancer будет развернут и будет работать нормально, DNS-имя будет работать.
Я понимаю, что исходная информация может показаться беспорядочной и недостаточной, но я не знаю, в каком направлении двигаться, чтобы решить проблему. Я буду рад предоставить всю необходимую информацию по вашему запросу и буду благодарен за любую помощь.