본문 바로가기
공부/Kubernetes

[external-dns] 특정 ingress만 무시하기 (exclude)

by haejang 2024. 4. 30.
728x90
728x90

 

 

인터넷에 검색해보면

external-dns.alpha.kubernetes.io/exclude: "true"

 

라는 어노테이션을 통해 특정 ingress를 external-dns에서 무시할 수 있도록 한다고 써있다.

근데 그렇게 해봤는데 안됨...심지어 공식도큐 등을 계속 뒤지다보니 공식적으로 저런 어노테이션을 제공한적이 없어서 더 멘붕 옴

 

근데 유일한 한국 블로그 글이 있었는데, 여기에 정확한 답이 있었다.

(벨로그 아이디가 없어서 댓글 못달았는데 제발 적게 일하고 많이 버십쇼)

https://velog.io/@nigasa12/External-dns%EC%97%90-exclude-filter%EB%A5%BC-%EA%B1%B8%EC%96%B4%EB%B3%B4%EC%9E%90

 

External-dns에 exclude filter를 걸어보자

🚪external-dns는 참 편해! 어라...? EKS와 external-dns, 그리고 alb-ingress-controller 와 함께라면

velog.io

 

사실 exclude 옵션 검색하면서 처음부터 읽어본 글이었는데, 내가 대충읽고 어노테이션만 추가하고 있었다.

다시 정독해보니 controller에 args를 또 추가해줘야 하더라. (오픈카톡방 나씨르님 감사합니다.)

 

즉, external-dns에서 특정 ingress를 무시하게 하는 어노테이션 따위를 제공하는건 아니고,

이런 어노테이션 달리면 무시해~ 라고 알려주도록 args를 넣어서 배포해줘야 한다.

 

external-dns helm values file

extraArgs:
  - --annotation-filter=external-dns.alpha.kubernetes.io/exclude notin (true)

 

아니 근데 진짜 누가 저딴식으로 args넣냐;; 진짜 틀리게 생김 ㅋㅋ

어쨌든 저대로 넣으면 실제로 container args로 잘 들어가고, 배포도 잘 되며,

external-dns.alpha.kubernetes.io/exclude: "true" 라는 어노테이션을 단 ingress는 잘 무시되는것 확인했다.

 

근데 저렇게 args로 넣어준 어노테이션이 무시되는거라면, 꼭
external-dns.alpha.kubernetes.io/exclude: "true" 가 아니라 내맘대로 어노테이션 만들어도 될거같긴 하다.

근데 귀찮으니까 그나마 평범하게 쓰이는(?) 거로 채택했다.

 

끝!

 

 

 

728x90
728x90

댓글