Istio가 자동으로 TLS 설정을 해준다!?

저는 아직 Istio를 사용하면서 mTLS 설정을 해본적이 없는데, 알고보니 TLS 통신을 하고 있었다는 것을 알았습니다. 관련해서 찾아보니까 흥미로운 부분이 있어서 공유합니다.


1/ Istio는 istio init 과정을 통해서 istio-proxy에 필요한 네트워크 작업을 수행하고, 애플리케이션 파드에 security.istio.io/tlsMode=istio 라벨을 추가합니다.


2/ security.istio.io/tlsMode 라벨이 붙으면 istiod 는 TLS를 사용한다고 생각하고, 그에 맞게 리스너를 설정해줍니다. tlsMode = istio 이면 istio proxy 간 통신을 할 때는 TLS로 통신하겠다는 의미입니다.


3/ 만약 istio proxy 끼리 통신할때도 mTLS를 사용하지 않고 싶다면, 애플리케이션에 미리 security.istio.io/tlsMode=disable 라벨을 넣어주거나, PeerAuthentication 혹은 DestinationRule에 mTLS: disable 설정을 추가해주면 됩니다.


4/ istiod는 envoy filter를 추가해주는 역할을 해줄 뿐, 실제로 TLS 과정에 관여하지 않습니다. Envoy가 내부적으로 통신을 할 때, 매칭되는 필터가 있으면 해당 필터를 적용하는 것입니다.


혹시나 istio를 사용하고 계시다면, 한 번 쯤 확인해보시면 좋을 것 같습니다!


#istio #devops #k8s

[Istio] Auto Mutual TLS

Substack

[Istio] Auto Mutual TLS

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 6월 17일 오후 8:00

댓글 0