Istio 네트워크 성능 가속하기
Istio는 모든 애플리케이션 트래픽을 Envoy 사이드카로 우회시켜 네트워크 오버헤드가 발생해요. Calico는 eBPF SOCKMAP으로 사이드카와 애플리케이션 사이 커널 경로를 최적화해 이 오버헤드를 크게 줄일 수 있습니다. 이 문서는 사이드카 가속의 개념과 활성화 방법을 안내해요.
출처: 문서
본문
큰 그림
Calico를 사용해 Istio Envoy 사이드카로 라우팅되는 네트워크 트래픽의 성능을 가속할 수 있어요.
경고: 이 기능은 실험적이며 프로덕션 클러스터에서 사용하면 안 됩니다. 최신 Linux 커널 기능(eBPF SOCKMAP)을 사용하는데, 우리 테스트 결과 프로덕션 클러스터를 안정적이고 안전하게 지원하려면 업스트림 커널 개선이 필요한 것으로 확인됐어요. 필요한 곳에 커널 수정 기여를 진행 중입니다.
활용 가치
Istio는 모든 애플리케이션 네트워크 트래픽을 각 파드의 Envoy 사이드카로 보내기 때문에 모든 트래픽에 네트워크 오버헤드가 생겨요. Calico는 이 트래픽을 위해 Linux 네트워크 경로를 자동으로 최적화해 오버헤드를 크게 줄일 수 있습니다.
개념
사이드카 가속
사이드카 가속 프로세스는 커널 네트워킹의 여러 계층을 우회해 소켓 사이에서 데이터가 방해받지 않고 흐르게 해요. 이렇게 하면 Envoy 프록시(사이드카)에서 컨테이너로 가는 네트워크 경로가 최대한 빠르고 효율적이 됩니다.
시작하기 전에...
- 애플리케이션 계층 정책 활성화
- Calico가 설치된 호스트가 Linux 커널 4.19 이상을 사용하는지 확인
사이드카 가속: 실험적 기술
사이드카 앱 가속 기능은 아직 프로덕션 준비가 되지 않은 기술이기 때문에 Calico에서 기본적으로 비활성화되어 있어요. 프로덕션 보안에 맞게 기술이 강화될 때까지는 테스트 환경에서만 사용하세요.
적용 방법
Calico를 사용해 Istio가 활성화된 앱에 사이드카 가속을 활성화하려면:
Tab: kubectl
kubectl patch felixconfiguration default --type merge --patch '{"spec":{"sidecarAccelerationEnabled": true}}'
아래와 같은 출력이 표시될 거예요:
felixconfiguration.projectcalico.org/default patched
Tab: calicoctl
calicoctl patch felixconfiguration default --patch '{"spec":{"sidecarAccelerationEnabled": true}}'
아래와 같은 출력이 표시될 거예요:
Successfully patched 1 'FelixConfiguration' resource
이걸로 끝이에요! 이 시점부터 앱과 Envoy 사이드카 사이에서 라우팅되는 네트워크 트래픽은 자동으로 가속됩니다. 기존 Istio/Calico 구성에서 사이드카 가속을 활성화하더라도 이미 맺어진 연결은 가속의 혜택을 받지 못한다는 점에 유의하세요.
더 알아보기 (Learn more)
이 기능은 실험적이므로 테스트 환경에서만 쓰는 것이 안전해요. 활성화 후에도 기존 연결은 가속되지 않으니 새 연결에서 효과를 확인하세요.