Intro

 

EKS Ingress Controller로 Elastic LoadBalancer 유형을 ALB, NLB 지정해서 사용할 수 있다. 서비스가 확장됨에 따라 Namespace를 분리하는 일이 생겼다. ALB를 분리할 필요는 없었지만, Ingress Controller는 Namespace에 종속돼 있어서 여러 개의 로드 밸런서가 생기는 문제를 발견했다. Ingress Yaml 파일에 어노테이션을 추가함으로써 간단하게 해결할 수 있었는데, 알아보자.

 

 

Ingress Yaml 어노테이션 추가

 

위에서 말했듯이 Namespace에 종속돼서 만들어지기 때문에 별도의 어노테이션을 Yaml파일에 추가해야 한다. 

alb.ingress.kubernetes.io/group.name을 활용하면 된다. 아래와 같이 파일을 예로 들어보자.

 

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
    namespace: "namespace"
    name: "name"
    annotations:

 

"namespace"라는 곳에 종속돼서 만들어진다. 다른 namespace에서 참조하지 못하므로 새로운 로드밸런서를 만들어야 한다. 어노테이션을 추가하자.

 

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
    namespace: "namespace"
    name: "name"
    annotations:
      alb.ingress.kubernetes.io/group.name: "my-group"

 

my-group을 추가하면 Namespace가 다르더라도, 같은 로드밸런서를 사용하게 된다.

 

주의점은 group.name은 같게 하돼, metadata.name은 다르게 설정해야 한다. 그렇지 않으면, 마지막에 적용한 것으로 덮어 써진다.