본문으로 건너뛰기

AWS Load Balancer 생성하기

Subnet 태그

  • Public Subnet
    • kubernetes.io/role/elb: 1
  • Private Subnet
    • kubernetes.io/role/internal-elb: 1

Application Load Balancer 생성하기

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: <name>
namespace: <namespace>
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: instance
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: <serviceName>
port:
number: <port>
  • alb.ingress.kubernetes.io/scheme: internal|internet-facing
    • internet-facing을 사용하면 외부에서 접근 가능한 ALB가 생성됩니다.(Public Subnet)
  • alb.ingress.kubernetes.io/target-type: instance|ip
    • instance를 사용하면 <NodeIP>:<NodePort>로 연결됩니다.
    • ip를 사용하면 <PodIP>:<PodPort>로 연결됩니다.
      • amazon-vpc-cni-k8s를 사용해야합니다.
경고

Istio Ingress Gateway와 같이 사용할 경우, Service의 포트 설정과 Gateway의 포트 설정 모두 확인해야합니다.

Network Load Balancer 생성하기