linkerd-patterns
Auxilia seu agente a implementar padrões de service mesh com Linkerd para implantações leves e seguras.
O que ela faz
Esta ferramenta ajuda a configurar o Linkerd, um sistema que torna a comunicação entre diferentes partes de um aplicativo mais segura e confiável. Ela facilita a instalação e a configuração de recursos como segurança automática e distribuição de tráfego.
Quando usar
- ✓Ao instalar o Linkerd pela primeira vez.
- ✓Quando quiser distribuir o tráfego para testes (canary deployments).
- ✓Para configurar regras de acesso entre os serviços.
Exemplo do que pedir para a IA
“Como configuro o Linkerd para distribuir 10% do tráfego para uma nova versão de teste?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta usa modelos pré-definidos para criar os arquivos de configuração necessários. Você escolhe um modelo, preenche as informações específicas do seu projeto e a ferramenta gera o código para aplicar no seu ambiente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add wshobson/agents --skill linkerd-patternsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/cloud-infrastructure/skills/linkerd-patterns/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões do Linkerd
Padrões de produção para a malha de serviços Linkerd - a malha de serviços leve e focada em segurança para Kubernetes.
Quando Usar Esta Habilidade
- Configurar uma malha de serviços leve
- Implementar mTLS automático
- Configurar divisões de tráfego para implantações canary
- Configurar perfis de serviço para métricas por rota
- Implementar retentativas e tempos limite
- Malha de serviços multi-cluster
Conceitos Principais
1. Arquitetura do Linkerd
┌─────────────────────────────────────────────┐
│ Control Plane │
│ ┌─────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ destiny │ │ identity │ │ proxy-inject │ │
│ └─────────┘ └──────────┘ └──────────────┘ │
└─────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────┐
│ Data Plane │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │proxy│────│proxy│────│proxy│ │
│ └─────┘ └─────┘ └─────┘ │
│ │ │ │ │
│ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ │
│ │ app │ │ app │ │ app │ │
│ └─────┘ └─────┘ └─────┘ │
└─────────────────────────────────────────────┘
2. Recursos Principais
| Recurso | Propósito |
|---|---|
| ServiceProfile | Métricas por rota, retentativas, tempos limite |
| TrafficSplit | Implantações canary, testes A/B |
| Server | Definir políticas do lado do servidor |
| ServerAuthorization | Políticas de controle de acesso |
Modelos
Modelo 1: Instalação da Malha
Use uma versão da CLI compatível com o cluster de destino. O exemplo usa Homebrew; para outros sistemas, siga o guia de instalação oficial.
# Install the CLI with Homebrew
brew install linkerd
linkerd version
# Validate cluster
linkerd check --pre
# Install CRDs
linkerd install --crds | kubectl apply -f -
# Install control plane
linkerd install | kubectl apply -f -
# Verify installation
linkerd check
# Install viz extension (optional)
linkerd viz install | kubectl apply -f -
Modelo 2: Injetar Namespace
# Automatic injection for namespace
apiVersion: v1
kind: Namespace
metadata:
name: my-app
annotations:
linkerd.io/inject: enabled
---
# Or inject specific deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
annotations:
linkerd.io/inject: enabled
spec:
template:
metadata:
annotations:
linkerd.io/inject: enabled
Modelo 3: Perfil de Serviço com Retentativas
apiVersion: linkerd.io/v1alpha2
kind: ServiceProfile
metadata:
name: my-service.my-namespace.svc.cluster.local
namespace: my-namespace
spec:
routes:
- name: GET /api/users
condition:
method: GET
pathRegex: /api/users
responseClasses:
- condition:
status:
min: 500
max: 599
isFailure: true
isRetryable: true
- name: POST /api/users
condition:
method: POST
pathRegex: /api/users
# POST not retryable by default
isRetryable: false
- name: GET /api/users/{id}
condition:
method: GET
pathRegex: /api/users/[^/]+
timeout: 5s
isRetryable: true
retryBudget:
retryRatio: 0.2
minRetriesPerSecond: 10
ttl: 10s
Modelo 4: Divisão de Tráfego (Canary)
apiVersion: split.smi-spec.io/v1alpha1
kind: TrafficSplit
metadata:
name: my-service-canary
namespace: my-namespace
spec:
service: my-service
backends:
- service: my-service-stable
weight: 900m # 90%
- service: my-service-canary
weight: 100m # 10%
Modelo 5: Política de Autorização de Servidor
# Define o servidor
apiVersion: policy.linkerd.io/v1beta1
kind: Server
metadata:
name: my-service-http
namespace: my-namespace
spec:
podSelector:
matchLabels:
app: my-service
port: http
proxyProtocol: HTTP/1
---
# Permite tráfego de clientes específicos
apiVersion: policy.linkerd.io/v1beta1
kind: ServerAuthorization
metadata:
name: allow-frontend
namespace: my-namespace
spec:
server:
name: my-service-http
client:
meshTLS:
serviceAccounts:
- name: frontend
namespace: my-namespace
---
# Permite tráfego não autenticado (por exemplo, de um ingress)
…
Perguntas frequentes
O que é um 'service mesh'?
É uma camada de infraestrutura que garante que a comunicação entre os serviços do seu aplicativo seja confiável, segura e observável, sem que você precise mudar o código do aplicativo.
O que é mTLS?
É uma forma de criptografar e autenticar a comunicação entre os serviços, garantindo que apenas serviços autorizados possam conversar entre si.
O que são 'traffic splits'?
Permitem direcionar uma porcentagem do tráfego para diferentes versões do seu serviço, útil para testes graduais de novas funcionalidades.
Detalhes
Descrição original do autor
Implement Linkerd service mesh patterns for lightweight, security-focused service mesh deployments. Use when setting up Linkerd, configuring traffic policies, or implementing zero-trust networking with minimal overhead.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4827
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC