본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Istio 통합

원문 보기 위키 갱신

Calico 정책은 Istio와 통합되어 HTTP 메서드나 경로 같은 애플리케이션 계층 속성과 암호학적으로 안전한 신원(identity)에 기반한 정책 적용을 가능하게 해요. 이 실습에서는 이 통합을 활성화하고 테스트해봅니다. "Calico the hard way" 시리즈의 마지막 단계예요.

출처: 문서

본문

Calico 정책은 Istio와 통합되어 HTTP 메서드나 경로 같은 애플리케이션 계층 속성뿐 아니라 암호학적으로 안전한 신원에 기반한 정책 적용도 가능하게 해요. 이 실습에서는 이 통합을 활성화하고 테스트해봅니다.

CSI 드라이버 설치

Calico는 Felix와 각 파드에서 실행되는 Dikastes 컨테이너 사이의 안전한 연결을 위해 Container Storage Interface(CSI) 드라이버를 사용해요. Felix가 Unix Domain Socket을 넣어두는 공유 볼륨을 마운트하는 방식입니다.

다음 명령을 실행해 CSI 드라이버를 설치하세요.

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.33.0/manifests/csi-driver.yaml

csi-node-driver 파드가 실행 중인지 확인합니다.

kubectl get pods -n calico-system

다음과 비슷한 내용이 표시될 거예요:

csi-node-driver-gk9mq                              2/2     Running   0             2m9s
csi-node-driver-jhngv                              2/2     Running   0             2m9s
csi-node-driver-kcqnj                              2/2     Running   0             2m9s
csi-node-driver-n78lx                              2/2     Running   0             2m9s
csi-node-driver-nrbvd                              2/2     Running   0             2m9s

Istio 설치

애플리케이션 계층 정책을 활성화하고, Istio를 설치하고, Istio 사이드카 인젝터를 업데이트하고, Istio 메시에 Calico 권한 부여 서비스를 추가하려면 여기 안내를 따르세요.

기본 네임스페이스에 Istio 네임스페이스 라벨 추가하기

애플리케이션 계층 정책은 Envoy와 Dikastes 사이드카가 함께 뜬 파드에만 적용돼요. 이 사이드카가 없는 파드는 표준 Calico 네트워크 정책만 적용합니다.

이 동작은 네임스페이스 단위로 제어할 수 있어요. 네임스페이스에서 Istio와 애플리케이션 계층 정책을 활성화하려면 istio-injection=enabled 라벨을 추가하세요.

튜토리얼에서 사용할 기본 네임스페이스에 라벨을 붙입니다.

kubectl label namespace default istio-injection=enabled

애플리케이션 계층 정책 테스트하기

애플리케이션 계층 정책 튜토리얼을 따라가면 애플리케이션 계층 정책을 테스트할 수 있어요.

더 알아보기 (Learn more)

Dikastes 사이드카가 있어야 L7 속성 기반 정책이 적용되고, 없으면 표준 Calico 정책만 적용된다는 점이 핵심이에요. istio-injection 라벨로 네임스페이스 단위로 제어할 수 있습니다.