# FE/dododocs-ingress.yaml
...
kind: Ingress
metadata:
name: dododocs-ingress
namespace: frontend
annotations:
alb.ingress.kubernetes.io/group.name: shared-alb
...
문제 상황 📌
Frontend를 접근하는 ALB가 있는 상황
Developer 입장에서도 argocd, prometheus, grafana 대시보드 접근해야함
⇒ Frontend namespace에 있는 ALB 사용할 수 없을까?
해결 방안 📌
기본적으로 ingress는 namespace에 종속됨
alb.ingress.kubernetes.io/group.name 어노테이션 사용!!
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/alb-ingress.html
애플리케이션 및 Application Load Balancers를 사용한 HTTP 트래픽 라우팅 - Amazon EKS
IPv6 Pods로 로드 밸런싱하는 경우, 인그레스 사양에 다음 주석을 추가합니다. IPv6를 통해서는 인스턴스 대상이 아닌 IP 대상으로만 로드 밸런싱할 수 있습니다. 이 주석이 없으면 로드 밸런싱은 IPv
docs.aws.amazon.com
# FE/dododocs-ingress.yaml
...
kind: Ingress
metadata:
name: dododocs-ingress
namespace: frontend
annotations:
alb.ingress.kubernetes.io/group.name: shared-alb
...
# Infra/infra-ingress.yaml
...
kind: Ingress
metadata:
name: infra-ingress
namespace: infra
annotations:
alb.ingress.kubernetes.io/group.name: shared-alb
...
⇒ 두 네임스페이스에서 하나의 ALB를 공유
AWS Load Balancer Controller는 동일한 그룹 이름을 가진 Ingress 리소스들을 하나의 ALB로 통합하고, 각각의 호스트와 경로에 대한 라우팅 규칙을 설정합니다.
- dododocs.com에 대한 요청은 frontend 네임스페이스의 서비스로 라우팅됩니다.
- developer.dododocs.com에 대한 요청은 infra 네임스페이스의 서비스로 라우팅됩니다.
kubectl get ingress -A
# NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
# frontend app-ingress alb example.com *******.ap-northeast-2.elb.amazonaws.com 80 111m
# infra infra-ingress alb dev.example.com *******.ap-northeast-2.elb.amazonaws.com 80 102m
'Cloud > AWS' 카테고리의 다른 글
[AWS] Private Subnet에 있는 인스턴스 접속 방법 (feat. AWS SSM) (1) | 2024.11.29 |
---|---|
[AWS] EKS 구성법 (0) | 2024.11.19 |