5.6. Ingress 및 Istio 라우팅 확인
Istio를 Ingress 계층으로 사용하면 Ingress 및 Istio 라우팅에 문제가 있습니다. OpenShift CLI(oc
)를 사용하여 세부 정보를 확인할 수 있습니다.
프로세스
다음 명령을 실행하여 모든 Ingress 리소스 및 해당 레이블을 나열합니다.
$ oc get ingresses.networking.internal.knative.dev -o=custom-columns='NAME:.metadata.name,LABELS:.metadata.labels'
출력 예
NAME LABELS helloworld-go map[serving.knative.dev/route:helloworld-go serving.knative.dev/routeNamespace:default serving.knative.dev/service:helloworld-go]
이 출력에서
serving.knative.dev/route
및serving.knative.dev/routeNamespace
는 Ingress 리소스가 있는 경로를 나타냅니다.경로
및 Ingress가 나열되어야 합니다.Ingress가 없는 경우 경로 컨트롤러는
경로
또는Service
오브젝트에서 대상으로 하는Revision
오브젝트가 준비되지 않은 것으로 가정합니다. 다른 디버깅 절차를 진행하여버전
준비 상태를 진단합니다.Ingress가 나열된 경우 다음 명령을 실행하여 경로에 대해 생성된
ClusterIngress
오브젝트를 검사합니다.$ oc get ingresses.networking.internal.knative.dev <ingress_name> --output yaml
출력의 status 섹션에서
type=Ready
조건이True
인 경우 Ingress가 올바르게 작동합니다. 그렇지 않으면 출력에 오류 메시지가 포함됩니다.Ingress의 상태가
Ready
이면 해당VirtualService
오브젝트가 있습니다. 다음 명령을 실행하여VirtualService
오브젝트의 구성을 확인합니다.$ oc get virtualservice -l networking.internal.knative.dev/ingress=<ingress_name> -n <ingress_namespace> --output yaml
VirtualService
오브젝트의 네트워크 구성이Ingress
및Route
오브젝트의 네트워크 구성과 일치해야 합니다.VirtualService
오브젝트가Status
필드를 노출하지 않기 때문에 설정이 전파될 때까지 기다려야 할 수 있습니다.