강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

방글이얌님의 프로필 이미지
방글이얌

작성한 질문수

쿠버네티스 어나더 클래스-Sprint5(#Istio #Kiali #Jaeger #Cert-Manager)

📝 Istio 설치하기 (💻 실습)

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의 권한을 그대로 사용해요.

방글이얌님의 프로필 이미지
방글이얌

작성한 질문수

질문하기