# 10 — Ingress gateway **목표**: 외부 → 메시 인입. Gateway + VirtualService로 라우팅, TLS termination, host/path 분기 검증. ## manifest (적용 완료 — 2026-06-07 검증 PASS) - `gateway-ingress.yaml` — Gateway (selector `istio: ingressgateway`, http:80 / https:443 TLS termination) - `virtualservice-httpbin.yaml` — `/status*` 매칭 + `/*` catch-all → `httpbin.mesh-test.svc:8000` - TLS secret `httpbin-tls`(istio-system) — 자체서명 cert(`tmp/certs/`)로 생성: ```bash openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 \ -subj "/CN=httpbin.example.com" -addext "subjectAltName=DNS:httpbin.example.com" kubectl -n istio-system create secret tls httpbin-tls --cert=cert.pem --key=key.pem ``` ## 테스트 ```bash # NodePort로 노출 (values-ingress-gateway.yaml: http 31080 / https 31443) NODE=203.0.113.212 curl -s -o /dev/null -w "%{http_code}\n" -H "Host: httpbin.example.com" http://$NODE:31080/get ``` ## 합격 기준 - 외부 curl → 200 - TLS termination 동작(https 요청이 gateway에서 복호화 후 평문으로 백엔드) - host/path 라우팅 분기 정상 - `istioctl proxy-config routes deploy/istio-ingressgateway.istio-system` 에 route 반영 ## 산출물 - 검증 결과 → `docs/test-reports/2026-06-07_ingress-egress.md`