Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #4149

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/service-mesh/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/service-mesh/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-mesh

Ou 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.md
Conteú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: istioctl CLI instalado.
  • Para Linkerd: linkerd CLI 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4149
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas