쿠버네티스
EKS로 ALB Ingress생성 시, ADDRESS가 비어있는 에러
ksb-dev
2024. 5. 26. 18:07
1. 아래 yaml파일로 인그레스를 생성했습니다.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: alb-ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/group.name: alb-group
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/certificate-arn: ${arn}
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/ssl-redirect: '443'
labels:
app: alb-ingress
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 8081
- path: /
pathType: Prefix
backend:
service:
name: front-service
port:
number: 3000
- path: /grafana
pathType: Prefix
backend:
service:
name: prometheus-grafana
port:
number: 80
kubectl apply -f alb-ingress.yaml
2. get 명령어로 인그레스를 확인해 보니 ADDRESS가 비어있었습니다.
3. describe 명령어로 로그를 찍어보니 서브넷 태그를 찾을 수 없다고 나왔습니다.
Failed build model due to couldn't auto-discover subnets: unable to resolve at least one subnet (0 match VPC and tags: [kubernetes.io/role/elb])
4. 이것저것 찾아보니 EKS로 k8s를 구성하면 ALB 셋팅시 자동으로 서브넷을 찾지만, 찾기 위해서는 서브넷에 태그를 지정해야 한다고 적힌 글을 확인했습니다.
EKS 4탄-7. EKS-Ingress ALB IP타입
5. 서브넷 태그는 AWS 콘솔에서 설정할 수 있습니다.
6. 태그를 지정하고 다시 ALB를 만드니 ADDRESS가 나왔습니다.