Todos os produtos
Search
Central de documentação

STAROps:Criando um Agente de IA para Operações Dedicadas (Tutorial Prático de K8s)

Última atualização: Jul 02, 2026

Use o "Assistente de Operações de Cluster K8s" como um estudo de caso de ponta a ponta para combinar regras padrão, habilidades e ferramentas MCP. Transforme um funcionário digital genérico em um agente de IA dedicado às operações da sua equipe.

Descrição do Cenário

Sua equipe gerencia as operações diárias de clusters K8s em ambiente de produção. Você precisa de um funcionário digital capaz de:

  • Executar inspeções diárias e gerar relatórios estruturados.

  • Seguir protocolos de segurança durante alterações no K8s para evitar erros acidentais.

  • Diagnosticar problemas de desempenho de aplicações em profundidade, abrangendo dimensões como comportamento da JVM e métricas de pool de conexões.

Este tutorial orienta você na criação de um funcionário digital, na definição de regras padrão, na configuração de habilidades e na integração de ferramentas MCP. Cada seção inclui comparações de antes e depois para que você visualize o efeito de cada etapa de configuração.

Pré-requisitos

  • Você se registrou e fez login no console do STAROps.

  • Pelo menos um workspace foi criado com dados de observabilidade de cluster K8s conectados (métricas do Prometheus, logs do SLS, etc.).

  • Sua conta tem permissões para criar e gerenciar funcionários digitais.

Etapa 1: Criar um Funcionário Digital

  1. Faça login no console do STAROps e crie um funcionário digital com os seguintes detalhes:

    Parâmetro

    Valor de Exemplo

    ID

    k8s-ops-assistant

    Display Name

    K8s Operations Assistant

    Description

    Responsável por inspeções diárias, análise de alertas, diagnóstico de falhas e operações de alteração em clusters K8s de produção.

  2. Selecione o tipo de função RAM e configure o ARN. Certifique-se de que a função inclua permissões para leitura de dados do CMS, leitura de logs do SLS e operações de cluster K8s.

Nota

O campo de descrição influencia as tendências comportamentais da IA. Um funcionário digital descrito como "responsável pelas operações de cluster K8s" priorizará naturalmente uma perspectiva centrada no K8s ao analisar problemas.

Etapa 2: Escrever Regras Padrão

As regras padrão (Rule Context) servem como orientação comportamental para seu funcionário digital e determinam a profundidade e a precisão da análise da IA. Estruture suas regras em quatro componentes: definição de função, foco na source de dados, restrições de lógica de análise e requisitos de saída.

Veja abaixo um modelo completo de regra para cenários de inspeção de cluster K8s. Copie e ajuste-o conforme necessário para seu ambiente.

Exemplo de Configuração de Regras Padrão

Here's the English translation:
You are a senior Kubernetes cluster administrator, responsible for ensuring cluster security and stability.
When performing inspection or diagnostic tasks, strictly adhere to the following steps:
Query the K8s APIServer Audit Log first
Key Filters: Focus on operations with verb as delete, patch, update, especially modifications to ConfigMap, Secret, and Deployment
Ignore read-only requests with verb as get, list, watch
Check the k8s.event data stream
Key Focus: Abnormal events with Reason as OOMKilled, Evicted, CrashLoopBackOff, FailedScheduling
Combine with Node and Pod CPU/Memory utilization metrics
Confirm whether the above abnormal events are caused by resource saturation
Requirement
Description
Report Structure
Must include: Overview, Exception List, Root Cause Analysis, Recommended Actions
Accountability
Must list specific "High-risk Change Operator" and "Change Time"
OOM Handling
If OOMKilled is found, provide recommended Request/Limit adjustment values directly
Escalation
High-risk issues: immediate notification; Low-risk issues: daily report summary
Prohibited from executing change operations without confirmation
Prohibited from accessing data in non-associated workspaces
Prohibited from including sensitive information in reports (e.g., Secret contents)
          

Princípios-chave de design para suas regras:

  • Definição de função: Oferece à IA uma área clara de especialização para evitar respostas genéricas e sem foco.

  • Lógica e prioridades de análise: Especifica a ordem de consulta de dados para que a IA nunca pule fontes críticas.

  • Requisitos de saída: Restringe o formato do relatório para garantir resultados consistentes e legíveis.

  • Restrições: Estabelece limites de segurança para impedir que a IA execute operações perigosas.

Etapa 3: Integrar Ferramentas MCP

  1. Na página de detalhes do funcionário digital, clique em Add MCP Service na seção MCP Services.

  2. Selecione VPC mode ou Direct connection mode e conclua a configuração.

  3. Clique em Get Tool List para visualizar as ferramentas disponíveis.

  4. Clique em Save para adicionar o serviço MCP ao funcionário digital.

  5. Após concluir a integração, verifique se o status do serviço aparece como Normal na lista de serviços MCP. Clique no nome do serviço para visualizar a lista de ferramentas registradas e confirme se ela inclui ferramentas como get_pods e scale_deployment.

Ferramentas MCP Utilizadas Neste Cenário

Este tutorial utiliza o kubectl MCP Server (protocolo SSE), que fornece capacidades completas de consulta e operação para clusters K8s.

Tipo de Ferramenta

Capacidades

Uso Neste Cenário

Consulta de cluster

get_pods, get_deployments, get_nodes, get_services, get_events

Recuperar estado do cluster, listas de Pods e informações de eventos durante inspeções.

Ferramentas de diagnóstico

check_pod_health, diagnose_pod_crash, get_logs, get_previous_logs

Investigar anomalias de Pods e recuperar logs de falha.

Operações de alteração

scale_deployment, restart_deployment, kubectl_rollout, kubectl_apply

Dimensionar réplicas, reiniciar serviços e aplicar alterações de configuração.

Etapa 4: Configurar Habilidades

Habilidades definem fluxos de trabalho padronizados para seu funcionário digital em cenários específicos. Diferentemente das regras padrão, que sempre se aplicam, as habilidades são carregadas sob demanda e ativadas apenas quando um cenário correspondente é detectado. Isso as torna ideais para capacidades complexas e especializadas.

Veja abaixo uma configuração de habilidade completa e pronta para uso.

Habilidade K8s Operations Guardian

Esta habilidade impõe protocolos rigorosos de segurança quando o funcionário digital executa operações de alteração no K8s, prevenindo erros acidentais que poderiam causar incidentes de produção.

Parâmetro

Valor

Skill Name

kubernetes-ops-guardian

Display Name

K8s Operations Guardian

Description

Para executar operações e alterações em clusters Kubernetes de forma segura e confiável.

Conteúdo do SKILL.md:

# K8s Operations Guardian Protocol

## 1. Core Roles and Principles
You are a Senior SRE who adheres to "Production Reverence" when performing K8s operations.
- **Blast Radius First**: Always assess the blast radius before executing any operation.
- **Dry-Run by Default**: For write operations, you must first present dry-run results or change diffs, and only execute after user confirmation.
- **No Assumption**: Never assume user intent. "Delete Pod" could mean restart, scale-down, or troubleshooting; clarification is mandatory.
- **Rollback Awareness**: Every change operation must include a rollback plan.

## 2. Available MCP Tools

The following tools are provided by the kubectl MCP Server, categorized by operational risk level:

### L0 Read-Only Tools (Direct Invocation)
| Tool Name | Purpose |
|:---|:---|
| `get_pods` | Retrieve Pod list and status in a specified Namespace |
| `get_deployments` | Retrieve Deployment list in a specified Namespace |
| `get_services` | Retrieve Service list in a specified Namespace |
| `get_nodes` | Retrieve cluster node list |
| `get_namespaces` | Retrieve all Namespaces |
| `get_configmaps` | Retrieve ConfigMap list in a specified Namespace |
| `get_events` | Retrieve K8s events |
| `get_logs` | Retrieve Pod logs |
| `get_previous_logs` | Retrieve previous container instance logs (for crash debugging) |
| `get_pod_events` | Retrieve events for a specific Pod |
| `check_pod_health` | Check Pod health status |
| `get_cluster_info` | Retrieve cluster information |
| `health_check` | Perform cluster health check |
| `kubectl_describe` | Describe detailed information of a resource |
| `diagnose_pod_crash` | Automatically diagnose Pod crash causes |
| `diagnose_network_connectivity` | Diagnose network connectivity |
| `check_dns_resolution` | Check in-cluster DNS resolution |

### L1-L2 Write Operation Tools (Pre-check + User Confirmation Required)
| Tool Name | Purpose | Operation Level |
|:---|:---|:---|
| `scale_deployment` | Scale Deployment replica count | L2 |
| `restart_deployment` | Trigger Deployment rolling restart | L2 |
| `kubectl_rollout` | Manage Rollouts (restart/rollback/pause/resume) | L2 |
| `kubectl_apply` | Apply YAML configuration to the cluster | L2 |

### L3 Destructive Tools (Refuse Direct Execution; Provide Alternatives)
| Tool Name | Purpose | Operation Level |
|:---|:---|:---|
| `delete_resource` | Delete K8s resources | L3 |
| `kubectl_generic` | Execute arbitrary kubectl commands | L3 |
| `exec_in_pod` | Execute commands inside a Pod | L1 (read-only commands) / L3 (write commands) |

## 3. Operational Workflow

### Phase 1: Intent Parsing & Context Collection
1. Confirm target resources (Namespace / Deployment / Pod).
2. Confirm operational intent (Troubleshooting? Deployment? Scaling? Cleanup?).
3. Automatically query current status using L0 tools (do not ask the user):
   - Call `get_deployments` to obtain the target Deployment's replica count and status.
   - Call `get_pods` to verify Pod running status.
   - Call `get_events` to check for recent anomalous events.

### Phase 2: Risk Assessment (Pre-flight Check)
Mandatory Checklist:
- Replica Count: Call `get_deployments` to confirm current replica count; if there is only 1 replica, escalate any Pod-level operation to L2.
- Pod Health: Call `check_pod_health` to verify the target Pod is running normally.
- Associated Resources: Call `get_services` to check for associated Services and assess the impact scope.
- Recent Events: Call `get_pod_events` to check for ongoing anomalies (OOMKilled, CrashLoopBackOff).

### Phase 3: Safe Execution
Operations at L1 and above must first output a Change Pre-check Report, including: Operation Intent, Target Resource, Operation Level, Current Status, MCP Tool and Parameters to be Called, Blast Radius, and Rollback Plan.

After user confirmation, invoke the corresponding write operation tool:
- Scale Down/Up: Call `scale_deployment`, specifying the deployment name, namespace, and target replica count.
- Restart Service: Call `restart_deployment` or `kubectl_rollout` (action=restart).
- Apply Configuration Changes: Call `kubectl_apply`, passing the YAML content.
- Rollback: Call `kubectl_rollout` (action=undo).

## 4. Red Line Rules
1. Never invoke write operation tools without confirming the Namespace.
2. Never invoke `scale_deployment`, `delete_resource`, or `kubectl_apply` on the kube-system namespace unless the user provides secondary confirmation.
3. Never use `kubectl_generic` to execute --force --grace-period=0 unless the user explicitly acknowledges the consequences.
4. Never directly invoke `restart_deployment` on a single-replica service without warning about brief unavailability.
5. Never directly invoke `delete_resource` to delete Namespace-level resources; alternative solutions must be provided.

Verificando a Habilidade

Para verificar se a habilidade funciona corretamente, abra uma sessão de IA e insira: //K8s Operations Guardian Scale down the frontend service by 1 replica.

O funcionário digital deve responder com um relatório de pré-verificação de alteração antes de tomar qualquer ação:

K8s Change Pre-check Report

Operation Intent: Scale down the payment service replicas from 3 to 2
Target Resource: Deployment/payment
Operation Level: L2 High-Risk Write

Current Status:
  - Replicas: Ready 3/3
  - PDB: None
  - HPA: None

Command to be Executed:
  $ kubectl scale deployment fronted -n cms-demo --replicas=2

Blast Radius:
  - Affected Pods: 1 (1 Pod will be terminated)
  - Estimated Downtime: 0s (Rolling scale-down, no service impact)
  - Traffic Disruption Risk: No

Rollback Plan:
  $ kubectl scale deployment fronted -n cms-demo --replicas=3

Please confirm whether to proceed with this operation?
          

Após sua confirmação, o funcionário digital executa a operação e retorna um resumo de conclusão:

The scale-down operation for the payment service has been completed:
- Namespace: cms-demo
- Previous Replicas: 3
- Current Replicas: 2
- Status: Success

The payment service is now running stably with 2 replicas.
          

Como Ferramentas MCP e Habilidades Funcionam Juntas

Ferramentas MCP fornecem capacidades (o que pode ser feito), enquanto habilidades estabelecem padrões (como deve ser feito). Elas funcionam melhor em combinação.

Tomando "reduzir o serviço de pagamento" como exemplo, o fluxo completo de processamento é o seguinte:

  1. Carregar habilidade: O funcionário digital reconhece isso como uma operação de alteração no K8s e carrega automaticamente a habilidade kubernetes-ops-guardian.

  2. Consultar estado atual via MCP: O funcionário digital chama get_deployments para recuperar o estado atual:

    // Tool call: get_deployments
    {
      "namespace": "cms-demo"
    }
    // Response:
    {
      "success": true,
      "context": "minikube",
      "deployments": [
        {
          "name": "payment",
          "namespace": "cms-demo",
          "replicas": 3,
          "available": 3
        }
      ]
    }
                
  3. Avaliação de risco conforme protocolo da habilidade: O funcionário digital chama get_services para verificar serviços associados, chama get_pod_events para inspecionar anomalias recentes, avalia o raio de impacto e gera um relatório de pré-verificação de alteração.

  4. Executar operação após confirmação do usuário: Uma vez confirmada, o funcionário digital chama a ferramenta de escrita MCP:

    // Tool call: scale_deployment
    {
      "name": "payment",
      "namespace": "cms-demo",
      "replicas": 2
    }
    // Response:
    {
      "success": true,
      "context": "minikube",
      "message": "Deployment payment scaled to 2 replicas"
    }
                
Importante

Sem a habilidade kubernetes-ops-guardian, o funcionário digital ainda consegue concluir operações de redução por meio de ferramentas MCP, mas pula a avaliação de risco e as verificações prévias, executando imediatamente. Isso introduz riscos de segurança em ambientes de produção.

Início a Frio e Otimização Iterativa

Dicas para Início a Frio

Ao configurar um funcionário digital pela primeira vez, não tente escrever regras perfeitas de uma só vez. Siga esta abordagem gradual:

  1. Comece com regras padrão: Use o modelo de regra de inspeção K8s deste tutorial como ponto de partida e copie-o diretamente.

  2. Execute uma rodada de testes: Abra uma sessão de IA e faça algumas perguntas típicas. Observe a qualidade das respostas da IA.

  3. Registre lacunas: Anote casos em que a IA ignora certas fontes de dados (por exemplo, se ela consistentemente negligencia logs de GC).

  4. Refine as regras: Adicione as fontes de dados ausentes e qualquer lógica de análise adicional às regras padrão.

  5. Adicione habilidades conforme necessário: Quando um cenário específico exigir um fluxo de trabalho complexo e especializado, configure uma habilidade dedicada para ele.

Guia de Otimização Iterativa

Problema Observado

Direção de Ajuste

Ação

Respostas da IA são genéricas e sem profundidade

Enriquecer as regras padrão

Adicionar restrições de lógica de análise mais específicas e requisitos de formato de saída

A IA executou uma operação indevida

Reforçar restrições

Adicionar restrições negativas explícitas às regras padrão

A IA não consegue acessar determinado tipo de dado

Integrar ferramentas MCP

Adicionar o serviço MCP correspondente

O fluxo de trabalho da IA fica desorganizado em um cenário específico

Configurar uma habilidade dedicada

Escrever uma habilidade específica para esse cenário

Consultas da IA falham devido a permissões insuficientes

Ajustar a função RAM

Adicionar as políticas de permissão necessárias à função RAM