-
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: kiali-gateway
namespace: istio-system
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http-kiali
protocol: HTTP
hosts:
- "*"
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: kiali-vs
namespace: istio-system
spec:
hosts:
- "*"
gateways:
- kiali-gateway
http:
- match:
- uri:
prefix: /kiali
route:
- destination:
host: kiali
port:
number: 20001
위의 Hosts는 해당하는 URI에 대한 요청에대해 응답하겠다는 것이다.현재는 모든 요청(*)에 응답하고, 해당 gateway는 Istio Gateway를 사용하는 중이니 Istio_Gateway/kiali로 접근한다면 Istio_Gateway가 IP인지 DNS인지 상관없이 무조건 연결시켜주겠다는 것이다.
NCP 기준으로 Istio 설치시 UI에 자동으로 보이니 해당하는 공인 IP나 도메인 주소에 + /kiali를 입력하면 들어가질 것이다.
하지만 실제 환경에서는 외부에서 노출이 되면 안되므로, 응답하는 요청을 내부 DNS 주소로 해야한다.
이걸 테스트 하는 방법은 자신의 hosts 파일이다. PC는 DNS서버에 가기전에 자신의 hosts 파일을 들여다보니, hosts 파일을 아래와 같이 수정하고.
system32/hosts
private.test.com 1.1.1.1(lb의 공인IP)
gateway 와 vs 의 hosts를 모두 아래와 같이 수정해준다.
hosts:
- "private.test.com"
이렇게 설정한다면 외부에서는 private.test.com를 입력한다 하여도 ip값을 모르니 접근이 안된다. 사설 dns를 사용한다면 똑같은 원리로 외부에서는 접근이 불가능하고, 내부 dns를(여기서는 hosts파일)바라보는 내부 네트워크 내부의 사람만 private.test.com 으로 접근할 수 있게 된다.
댓글