본문 바로가기

쿠버네티스

EKS로 ALB Ingress생성 시, ADDRESS가 비어있는 에러

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타입

 

EKS 4탄-7. EKS-Ingress ALB IP타입

실습 4탄 =  7/17 | <0>  인그래스 사용시 태그 설정은 필수이다. <1>  실습1 - Ingress (ALB) 모드 실습 - 디플로이먼트 생성 <2>  실습2 - Ingress (ALB) 모드 실습 - 인그래스 생성 <3>  Ingress (ALB)  HTTP/HTTPS

brunch.co.kr

 

5. 서브넷 태그는 AWS 콘솔에서 설정할 수 있습니다.

 

6. 태그를 지정하고 다시 ALB를 만드니 ADDRESS가 나왔습니다.