service-mesh
Ajuda seu agente a implementar e gerenciar service meshes, controlando comunicação entre microsserviços.
O que ela faz
Essa ferramenta ajuda a gerenciar como diferentes partes de um programa (chamados microserviços) se comunicam entre si. Ela garante que essa comunicação seja segura, permite controlar o fluxo de dados e oferece visibilidade sobre o que está acontecendo.
Quando usar
- ✓Quando você tem várias partes de um programa que precisam conversar de forma segura.
- ✓Para testar novas versões de uma parte do programa sem afetar todos os usuários.
- ✓Para monitorar o desempenho e os erros na comunicação entre as partes do programa.
Exemplo do que pedir para a IA
“Configure a comunicação segura entre os microserviços usando Istio.”
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
Ela funciona adicionando um 'agente' (sidecar) a cada parte do programa. Esse agente intercepta e gerencia toda a comunicação, aplicando regras de segurança e roteamento definidas.
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 sickn33/agentic-awesome-skills --skill service-meshOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/service-mesh/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.
Service Mesh
Gerencie a comunicação entre serviços com mTLS, modelagem de tráfego, observabilidade e aplicação de políticas usando Istio ou Linkerd.
Quando Usar
- Proteger a comunicação de microsserviços com mTLS automático.
- Implementar implantações canary, divisão de tráfego ou testes A/B.
- Adicionar circuit breakers, retries e timeouts sem alterar o código da aplicação.
- Obter observabilidade em nível de serviço (latência, taxas de erro, volume de requisições).
- Aplicar políticas de autorização entre serviços.
Pré-requisitos
- Cluster Kubernetes (1.26+) com kubectl configurado.
- Helm 3 instalado (para alguns métodos de instalação).
- Recursos suficientes no cluster (o plano de controle do Istio precisa de ~2 GB de RAM).
- Para Istio:
istioctlCLI instalado. - Para Linkerd:
linkerdCLI instalado.
Instalação do Istio
Instalar com istioctl
# Download istioctl
curl -L https://istio.io/downloadIstio -o /tmp/downloadIstio.sh && sh /tmp/downloadIstio.sh && rm /tmp/downloadIstio.sh
cd istio-*
export PATH=$PWD/bin:$PATH
# Install with the production profile
istioctl install --set profile=default -y
# Or use the demo profile (includes all addons, good for learning)
istioctl install --set profile=demo -y
# Verify installation
istioctl verify-install
# Check running components
kubectl get pods -n istio-system
Habilitar Injeção de Sidecar
# Enable automatic sidecar injection for a namespace
kubectl label namespace default istio-injection=enabled
# Verify label
kubectl get namespace default --show-labels
# Restart existing pods to inject sidecars
kubectl rollout restart deployment -n default
# Check sidecar status
kubectl get pods -n default -o jsonpath='{range .items[*]}{.metadata.name}{" containers: "}{range .spec.containers[*]}{.name}{" "}{end}{"\n"}{end}'
Instalar Addons de Observabilidade
# Install Kiali, Prometheus, Grafana, Jaeger
kubectl apply -f samples/addons/prometheus.yaml
kubectl apply -f samples/addons/grafana.yaml
kubectl apply -f samples/addons/jaeger.yaml
kubectl apply -f samples/addons/kiali.yaml
# Wait for rollout
kubectl rollout status deployment/kiali -n istio-system
# Access dashboards
istioctl dashboard kiali
istioctl dashboard grafana
istioctl dashboard jaeger
Gerenciamento de Tráfego
VirtualService (Regras de Roteamento)
# virtualservice.yaml — canary deployment with traffic split
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: my-app
namespace: default
spec:
hosts:
- my-app
http:
# Header-based routing (canary testers)
- match:
- headers:
x-canary:
exact: "true"
route:
- destination:
host: my-app
subset: canary
# Percentage-based traffic split
- route:
- destination:
host: my-app
subset: stable
weight: 90
- destination:
host: my-app
subset: canary
weight: 10
timeout: 30s
retries:
attempts: 3
perTryTimeout: 10s
retryOn: gateway-error,connect-failure,refused-stream
DestinationRule (Subconjuntos e Política de Conexão)
# destinationrule.yaml
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: my-app
namespace: default
spec:
host: my-app
trafficPolicy:
connectionPool:
tcp:
maxConnections: 100
http:
h2UpgradePolicy: DEFAULT
http1MaxPendingRequests: 100
http2MaxRequests: 1000
maxRequestsPerConnection: 10
outlierDetection:
consecutive5xxErrors: 5
interval: 10s
baseEjectionTime: 30s
maxEjectionPercent: 50
subsets:
- name: stable
labels:
version: v1
- name: canary
labels:
version: v2
Gateway (Tráfego de Entrada)
# gateway.yaml — expõe o serviço ao tráfego externo
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: app-gateway
namespace: default
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: app-tls-cert # Segredo do Kubernetes
hosts:
- app.example.com
- port:
number: 80
name: http
protocol: HTTP
hosts:
- app.example.com
tls:
httpsRedirect: true
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
…
Perguntas frequentes
O que são microserviços?
São partes menores e independentes de um programa maior, cada uma responsável por uma função específica.
O que é mTLS?
É um tipo de segurança que garante que a comunicação entre duas partes seja autenticada (sabemos quem é quem) e criptografada (ninguém consegue ler no caminho).
O que é observabilidade?
É a capacidade de entender o que está acontecendo dentro do sistema, vendo métricas como tempo de resposta, taxas de erro e volume de requisições.
Detalhes
Descrição original do autor
Implement Istio and Linkerd service meshes. Configure mTLS, traffic management, and observability. Use when managing microservices communication.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4149
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC