Skip to content

Linkerd

Versiones compatibles: Linkerd 2.16+ Última actualización: February 22, 2026

Descripción general

Linkerd es un proyecto graduado de CNCF (Cloud Native Computing Foundation) y una solución ligera de service mesh. Desarrollado originalmente por Buoyant en 2016, fue el proyecto que acuñó por primera vez el término "service mesh". Los valores fundamentales de Linkerd son la simplicidad, la seguridad por defecto y una sobrecarga mínima de recursos, lo que hace que la comunicación de servicio a servicio en entornos Kubernetes sea segura y confiable.

Propuestas de valor principales

ValorDescripción
SimplicidadValores predeterminados adecuados que funcionan de inmediato sin configuración compleja
Seguridad por defectoCifrado mTLS automático sin ninguna configuración
LigeroMicro-proxy escrito en Rust con uso mínimo de recursos (~10MB de memoria)
Rendimiento rápidoMenos de 1ms de sobrecarga de latencia p99
Facilidad operativaActualizaciones simples y herramientas de depuración intuitivas

Descripción general de la arquitectura de Linkerd

Comparación de Service Mesh

Compare Linkerd, Istio y Cilium Service Mesh para comprender las características de cada solución.

CaracterísticaLinkerdIstioCilium Service Mesh
Proxylinkerd2-proxy (Rust)Envoy (C++)eBPF + Envoy (optional)
Uso de recursosMuy bajo (~10MB)Alto (~50-100MB)Bajo (modo eBPF)
Sobrecarga de latencia<1ms p992-5ms p99<1ms (modo eBPF)
ComplejidadBajaAltaMedia
mTLSAutomático (predeterminado)Requiere configuraciónRequiere configuración
Gestión de tráficoBásica (SMI)Muy completaBásica
ObservabilidadBuena (integrada)ExcelenteBuena (Hubble)
Multi-clusterService MirroringConfiguración complejaClusterMesh
Integración de CNIIndependienteIndependienteNativa
Estado de CNCFGraduadoGraduadoGraduado
Curva de aprendizajeSuavePronunciadaMedia
ComunidadActivaMuy activaActiva

Cuándo elegir Linkerd

Casos de uso adecuados

  1. Cuando la simplicidad es importante
    • Cuando se necesitan capacidades básicas de service mesh en lugar de funciones complejas de gestión de tráfico
    • Equipos de operaciones pequeños o equipos con experiencia limitada en service mesh
    • Cuando la adopción rápida y una curva de aprendizaje baja son prioridades
  2. Cuando la eficiencia de recursos es crítica
    • Entornos que ejecutan muchos Pods por nodo
    • Cuando se necesita minimizar la sobrecarga del sidecar
    • Aplicaciones sensibles a la latencia
  3. Cuando la seguridad debe ser el valor predeterminado
    • Cuando se necesita mTLS automático sin configuración
    • Implementación de red de confianza cero
    • Requisitos de cifrado para cumplimiento normativo
  4. Cuando se requiere simplicidad operativa
    • Preferencia por procesos de actualización simples
    • CRDs y configuración mínimos
    • Herramientas de CLI intuitivas

Casos de uso menos adecuados

  1. Necesidades avanzadas de gestión de tráfico
    • Reglas de enrutamiento complejas, manipulación de encabezados
    • Algoritmos avanzados de balanceo de carga
    • Amplio soporte de protocolos (más allá de gRPC)
  2. Integración de cargas de trabajo de VM
    • Integración con cargas de trabajo fuera de Kubernetes
    • Entornos mixtos de VM y contenedores
  3. Entornos multi-protocolo a gran escala
    • Necesidad de compatibilidad con varios protocolos (Kafka, MongoDB, etc.)
    • Requisitos complejos de extensiones Wasm

Estructura de la documentación

Esta sección cubre las principales características y métodos operativos de Linkerd:

DocumentoDescripción
Instalación y configuraciónInstalación de CLI, instalación de control plane, configuración de HA, extensiones
ArquitecturaDetalles de control plane, data plane y jerarquía de certificados
Gestión de tráficoServiceProfile, TrafficSplit, reintentos, tiempos de espera, deployments canary
SeguridadmTLS, políticas de autorización, gestión de certificados, integración de CA externa
ObservabilidadMétricas, dashboards, herramientas de CLI, integración con Prometheus/Grafana, trazado distribuido
Multi-clusterService mirroring, vinculación de clústeres, failover
Prácticas recomendadasLista de verificación de producción, ajuste de rendimiento, solución de problemas

Inicio rápido

1. Instalar Linkerd CLI

bash
# Linux/macOS
curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh
export PATH=$HOME/.linkerd2/bin:$PATH

# Verify installation
linkerd version

2. Validación previa del clúster

bash
# Verify cluster meets Linkerd requirements
linkerd check --pre

3. Instalar Linkerd

bash
# Install CRDs
linkerd install --crds | kubectl apply -f -

# Install control plane
linkerd install | kubectl apply -f -

# Verify installation
linkerd check

4. Agregar la aplicación a la malla

bash
# Enable automatic injection for namespace
kubectl annotate namespace my-app linkerd.io/inject=enabled

# Restart existing deployments to inject proxy
kubectl rollout restart deployment -n my-app

# Or manually inject
kubectl get deploy -n my-app -o yaml | linkerd inject - | kubectl apply -f -

5. Instalar y acceder al dashboard

bash
# Install Viz extension
linkerd viz install | kubectl apply -f -

# Open dashboard
linkerd viz dashboard

Comprobación del estado de los componentes de Linkerd

bash
# Full status check
linkerd check

# Control plane status
linkerd check --proxy

# Data plane proxy status
linkerd viz stat deploy -n my-app

# Real-time traffic monitoring
linkerd viz tap deploy/my-app -n my-app

Conceptos principales

Proxy de Data Plane

Linkerd inyecta un contenedor sidecar llamado linkerd-proxy en cada Pod. Este proxy:

  • Está escrito en Rust para la seguridad de la memoria y un alto rendimiento
  • Utiliza solo ~10MB de memoria
  • Añade menos de 1ms de latencia
  • Gestiona todo el tráfico entrante/saliente
  • Aplica automáticamente el cifrado mTLS

Descubrimiento de servicios

El componente Destination supervisa los servicios de Kubernetes y proporciona información de endpoints a los proxies:

  • Actualizaciones de endpoints en tiempo real
  • Información de enrutamiento basada en ServiceProfile
  • Distribución de políticas de división de tráfico

mTLS automático

Linkerd cifra automáticamente todo el tráfico de la malla sin configuración:

  1. El componente Identity emite certificados a cada proxy
  2. Autenticación Mutual TLS entre proxies
  3. Renovación automática de certificados (predeterminado de 24 horas)

Próximos pasos

  1. Instalación y configuración: Guía detallada para instalar Linkerd en su clúster
  2. Arquitectura: Comprenda la estructura interna de Linkerd
  3. Cuestionarios: Evalúe sus conocimientos

Referencias