Istio CNI 노드 에이전트 설치

Istio CNI 노드 에이전트 설치 (Install the Istio CNI Node Agent)

운영자가 더 낮은 권한으로 워크로드를 배포할 수 있게 해주는 Istio CNI 노드 에이전트를 설치하고 사용하는 방법을 설명하는 문서예요.

출처: Istio 문서

본문

CNI 노드 에이전트란?

기본적으로 Istio는 사이드카를 주입할 때 파드에 NET_ADMIN과 NET_RAW capability를 요구하는 istio-init init 컨테이너를 사용해 트래픽을 리다이렉트해요. 이는 파드를 배포하는 사용자/서비스 어카운트가 높은 권한을 가져야 한다는 뜻이에요.

Istio CNI 노드 에이전트는 트래픽 리다이렉션을 Kubernetes CNI 수준에서 처리해서, 애플리케이션 파드와 사용자가 NET_ADMIN/NET_RAW capability 없이도 사이드카를 사용할 수 있게 해줘요. 이는 Pod 보안 정책을 적용하는 클러스터에서 특히 유용해요.

설치 (Install)

다음 명령으로 CNI를 활성화해서 Istio를 설치할 수 있어요:

$ istioctl install --set components.cni.enabled=true

또는 Helm을 사용해:

$ helm install istio-cni istio/cni -n istio-system

설치 후 CNI 에이전트가 실행되는지 확인해요:

$ kubectl get pods -n istio-system -l k8s-app=istio-cni-node

사용 (Usage)

CNI가 활성화되면 파드가 생성될 때 CNI 플러그인이 트래픽 리다이렉션을 설정해요. 애플리케이션은 별도의 init 컨테이너 없이도 메시 트래픽이 프록시를 통과하게 돼요.

프로파일 요구 사항

CNI 노드 에이전트의 DaemonSet은 네트워크 관련 권한이 필요하며, 이를 배포하는 네임스페이스(기본 istio-system)는 privileged 정책을 사용해야 할 수 있어요.

See also

Istio CNI 플러그인 트러블슈팅 — CNI 플러그인 관련 문제 진단.

Pod 보안 승인(Pod Security Admission)으로 Istio 설치 — PSA와 함께 Istio를 설치하는 방법.

더 알아보기 (Learn more)