<aside> <img src="/icons/fire_red.svg" alt="/icons/fire_red.svg" width="40px" />

[ 문제 정의 ]

  1. Ingress 쪽에서 외부 트래픽을 안뿌려줌
    1. kourier에 외부 트래픽 로그가 찍힘
    2. 이걸 내부에서 뿌려주기 위한 ingress 규칙을 생성했지만, kourier에 할당되지 않는 문제 발생
    3. 차선책으로 prometheus와 grafana는 NodePort 형식으로 ALB와 직접 연결
    4. ksvc에 대해서는 현재 정상 route가 처리되고 있으나, 추가적인 ingress (덮어쓰기)에서 문제 발생
  2. prometheus에서 knative 지표를 가지고 오지 않는 문제도 발생 중. </aside>

Kourier Ingress가 외부 트래픽을 안 뿌려주는 문제 원인

✔️ 핵심 원인: k3s의 svclb + Kourier의 LoadBalancer가 AWS에서 동작 방식 불일치

k3s는 LoadBalancer 타입을 쓰면 svclb-* DaemonSet을 자동 생성해서 각 노드에 랜덤 NodePort 기반 LB를 생성함.

이게 AWS NLB / ALB와 달라서:

등 문제가 발생하면서 IngressClass가 Kourier로 지정된 리소스를 제대로 가져가지 못함

→ 결과적으로 Knative 자체 route는 정상이나, 추가 Ingress가 제대로 attach되지 않음.


Knative + Kourier + ALB 조합은 기본적으로 작동 안 한다.

Knative의 공식 ingress controllers:

Controller 외부 LB
Kourier NLB 권장 (L4)
Istio ALB 가능
Contour 일부 가능
Kong ALB 가능

적용되어야 하는 구조 !!

Public ALB → Private NodePort → Kourier → Knative