# 60-airgap-lab — 폐쇄망(air-gapped) ingress/egress gateway 테스트 랩 # # 설계: "외부 세계"를 클러스터 안에서 모사한다. Istio 관점에서 외부란 # (a) mesh 밖(sidecar 없음) + (b) 서비스 디스커버리에 없는 도메인 + (c) 사설 CA TLS # 일 뿐이므로, 인터넷 없이도 ingress/egress 전 시나리오를 테스트할 수 있다. # # ns를 2개로 나누는 이유: 50-dns-resolution 랩은 단일 ns + pod annotation으로 주입을 # 껐지만, 이 랩은 "mesh 안 = 우리 서비스" vs "mesh 밖 = 외부 세계" 경계 자체가 # 테스트 대상이므로 ns 경계로 명시한다. blast radius도 ns 2개로 한정된다. --- # lab-ext — "외부 세계"(the internet 역할). injection 라벨 없음 = sidecar 미주입. # fake-dns(외부 DNS 모사) / ext-a·ext-b(외부 HTTPS 서버 모사) / ext-client(외부 사용자 모사) apiVersion: v1 kind: Namespace metadata: name: lab-ext --- # lab-apps — "우리 서비스"(mesh 안). ingress 백엔드와 egress 클라이언트가 산다. apiVersion: v1 kind: Namespace metadata: name: lab-apps labels: istio-injection: enabled