Linkerd
지원 버전: Linkerd 2.16+ 마지막 업데이트: 2026년 2월 22일
개요
Linkerd는 CNCF(Cloud Native Computing Foundation) 졸업 프로젝트로, 경량화된 서비스 메시 솔루션입니다. 2016년 Buoyant에서 처음 개발되어 "서비스 메시"라는 용어를 최초로 정의한 프로젝트이기도 합니다. Linkerd는 단순성, 보안, 그리고 최소한의 리소스 오버헤드를 핵심 가치로 삼아, Kubernetes 환경에서 서비스 간 통신을 안전하고 신뢰성 있게 만들어줍니다.
핵심 가치
단순성
복잡한 설정 없이 즉시 사용 가능한 합리적인 기본값 제공
기본 보안
설정 없이 자동으로 mTLS 암호화 적용
경량화
Rust로 작성된 마이크로 프록시로 최소 리소스 사용 (~10MB 메모리)
빠른 성능
1ms 미만의 p99 지연 시간 추가
운영 용이성
간단한 업그레이드 및 디버깅 도구 제공
Linkerd 아키텍처 개요
서비스 메시 비교
Linkerd, Istio, Cilium Service Mesh를 비교하여 각 솔루션의 특성을 이해합니다.
프록시
linkerd2-proxy (Rust)
Envoy (C++)
eBPF + Envoy (선택적)
리소스 사용량
매우 낮음 (~10MB)
높음 (~50-100MB)
낮음 (eBPF 모드)
지연 시간 추가
<1ms p99
2-5ms p99
<1ms (eBPF 모드)
복잡성
낮음
높음
중간
mTLS
자동 (기본값)
설정 필요
설정 필요
트래픽 관리
기본적 (SMI)
매우 풍부
기본적
관찰성
좋음 (기본 내장)
매우 좋음
좋음 (Hubble)
다중 클러스터
서비스 미러링
복잡한 설정
ClusterMesh
CNI 통합
별도
별도
네이티브
CNCF 상태
졸업
졸업
졸업
학습 곡선
완만함
가파름
중간
커뮤니티
활발함
매우 활발함
활발함
Linkerd를 선택해야 할 때
적합한 사용 사례
단순함이 중요할 때
복잡한 트래픽 관리 기능보다 기본적인 서비스 메시 기능이 필요한 경우
운영팀 규모가 작거나 서비스 메시 경험이 적은 경우
빠른 도입과 낮은 학습 곡선이 중요한 경우
리소스 효율성이 중요할 때
노드당 많은 Pod를 실행하는 환경
사이드카 오버헤드를 최소화해야 하는 경우
지연 시간에 민감한 애플리케이션
보안이 기본값이어야 할 때
설정 없이 자동 mTLS가 필요한 경우
제로 트러스트 네트워크 구현
규정 준수를 위한 암호화 요구사항
운영 간소화가 필요할 때
단순한 업그레이드 프로세스 선호
최소한의 CRD 및 설정
직관적인 CLI 도구
부적합한 사용 사례
고급 트래픽 관리 필요
복잡한 라우팅 규칙, 헤더 조작
고급 로드 밸런싱 알고리즘
광범위한 프로토콜 지원 (gRPC 외)
VM 워크로드 통합
Kubernetes 외부 워크로드와의 통합
VM과 컨테이너 혼합 환경
대규모 다중 프로토콜 환경
Kafka, MongoDB 등 다양한 프로토콜 지원 필요
복잡한 Wasm 확장 필요
문서 구성
이 섹션은 Linkerd의 주요 기능과 운영 방법을 다음과 같이 구성합니다:
빠른 시작
1. Linkerd CLI 설치
2. 클러스터 사전 검증
3. Linkerd 설치
4. 애플리케이션 메시에 추가
5. 대시보드 설치 및 접근
Linkerd 컴포넌트 상태 확인
핵심 개념
데이터 플레인 프록시
Linkerd는 각 Pod에 linkerd-proxy라는 사이드카 컨테이너를 주입합니다. 이 프록시는:
Rust로 작성되어 메모리 안전성과 높은 성능 제공
약 10MB의 메모리만 사용
1ms 미만의 지연 시간 추가
모든 인바운드/아웃바운드 트래픽 처리
자동으로 mTLS 암호화 적용
서비스 디스커버리
Destination 컴포넌트가 Kubernetes 서비스를 모니터링하고 프록시에 엔드포인트 정보를 제공합니다:
실시간 엔드포인트 업데이트
ServiceProfile 기반 라우팅 정보
트래픽 분할 정책 전달
자동 mTLS
Linkerd는 설정 없이 모든 메시 트래픽을 자동으로 암호화합니다:
Identity 컴포넌트가 각 프록시에 인증서 발급
프록시 간 통신 시 상호 TLS 인증
인증서 자동 갱신 (24시간 기본값)
다음 단계
참고 자료
마지막 업데이트