인프런 커뮤니티 질문&답변
istio가 설치 된 후 샘플 파드에 주입 권한
작성
·
24
·
수정됨
1
안녕하세요.
수강생입니다.
궁금한게 생겨 문의드립니다.
istio 가 설치 된 후 샘플 파드를 만들 때 istio init container와 istio proxy가 자동으로 샘플 파드에 자동으로 주입이 된다고 하는데 어떤 메카니즘으로 kubernetes api 입장에서 어떤 식으로 권한을 부여 해주는지 궁금합니다.
감사합니다.
답변 2
1
0
안녕하세요. 좋은 질문 감사합니다.
Istio의 사이드카(istio-init, istio-proxy)가 자동으로 파드에 주입되는 것은 Kubernetes의 Mutating Admission Webhook 기능 때문인데, Mutating Admission Webhook는 쿠버네티스 리소스가 만들어지기 직전에 그 내용을 자동으로 수정할 수 있게 해주는 기능이고
Istio를 설치하면 istio-sidecar-injector라는 Webhook이 Kubernetes API Server에 등록되고, 이후 파드가 생성될 때마다 API Server는 파드 생성 요청을 Istio Webhook에 전달합니다.
그런다음 Istio Webhook은 해당 파드가 사이드카 주입 대상인지(네임스페이스 istio-injection=enabled 라벨 여부)를 판단한 뒤, 조건이 맞으면 파드의 spec을 수정하여 istio-init initContainer와 istio-proxy 사이드카 컨테이너를 자동으로 추가 하는 거죠
그리고 이 과정에서 Istio가 파드를 직접 생성하는 건 아니라 API Server가 수정된 파드 spec을 기준으로 최종 파드를 생성하기 떄문에 파드 생성 권한은 기존 사용자나 ServiceAccount의 권한을 그대로 사용해요.




