<aside>
<img src="/icons/fire_red.svg" alt="/icons/fire_red.svg" width="40px" />
[ 문제 정의 ]
- Ingress 쪽에서 외부 트래픽을 안뿌려줌
- kourier에 외부 트래픽 로그가 찍힘
- 이걸 내부에서 뿌려주기 위한 ingress 규칙을 생성했지만, kourier에 할당되지 않는 문제 발생
- 차선책으로 prometheus와 grafana는 NodePort 형식으로 ALB와 직접 연결
- ksvc에 대해서는 현재 정상 route가 처리되고 있으나, 추가적인 ingress (덮어쓰기)에서 문제 발생
- prometheus에서 knative 지표를 가지고 오지 않는 문제도 발생 중.
</aside>
1. Ingress 외부 트래픽 문제
문제:
- Kourier가 AWS 환경에서 LoadBalancer 타입일 때 k3s의
svclb-*와 충돌 → 외부 트래픽이 Ingress에 전달되지 않음
- 기존 Ingress 규칙이 Kourier에 제대로 attach되지 않음
조치:
- Kourier 서비스 타입을 LoadBalancer → NodePort로 변경
kubectl -n knative-serving patch svc kourier --type='json' -p='[
{"op":"replace","path":"/spec/type","value":"NodePort"},
{"op":"replace","path":"/spec/ports/0/nodePort","value":30080},
{"op":"replace","path":"/spec/ports/1/nodePort","value":30443}
]'
- ALB Target Group 포트를 NodePort(30080/30443)로 고정
- 기존 31591 포트 → 30080으로 변경
- ALB → Target type = instance
- Public ALB → Private NodePort
- 보안 그룹 설정
- ALB SG → Worker Node NodePort 허용
- NodePort는 외부에 직접 공개하지 않고, ALB만 접근 가능
2. Ksvc Route 정상화
문제:
- 기존 Kourier LoadBalancer 문제로 Ksvc route가 일부만 정상
- helloworld-go 서비스 URL 접속 실패 가능
조치:
- NodePort 고정 및 ALB Target Group 연결 후 Ksvc URL 정상 동작 확인
kubectl get ksvc -A → URL Ready 상태 확인
- 외부 브라우저/ALB 통해 helloworld-go 접속 가능