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

kustomize

Faz seu agente personalizar configurações do Kubernetes sem usar modelos.

O que ela faz

Kustomize é uma ferramenta que ajuda a personalizar arquivos de configuração do Kubernetes sem precisar usar modelos complicados. Ele permite que você modifique configurações existentes ou crie novas versões a partir de uma base.

Quando usar

  • ✓Quando você precisa gerenciar configurações do Kubernetes para diferentes ambientes (desenvolvimento, produção).
  • ✓Quando você quer fazer pequenas alterações em arquivos de configuração sem alterá-los diretamente.
  • ✓Quando você precisa criar variações de configurações a partir de um conjunto base.

Exemplo do que pedir para a IA

“Como posso ajustar a configuração do meu aplicativo para o ambiente de produção, mudando a imagem e o número de réplicas?”

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/kustomize/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/kustomize/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Kustomize funciona organizando seus arquivos de configuração em uma 'base' e 'overlays'. Os overlays pegam a base e aplicam modificações específicas para cada ambiente, como alterar o número de cópias ou o nome da imagem.

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 kustomize

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/kustomize/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.

Kustomize

Personalize recursos do Kubernetes de forma declarativa, sem usar templates.

Quando Usar Esta Habilidade

Use esta habilidade quando:

  • Gerenciar configurações do Kubernetes entre ambientes
  • Aplicar patches em manifestos existentes sem modificá-los
  • Criar variantes de configuração a partir de bases
  • Personalizar manifestos de terceiros
  • Preferir uma abordagem declarativa em vez de usar templates

Pré-requisitos

  • kubectl 1.14+ (inclui kustomize)
  • Ou CLI kustomize standalone
  • Conhecimento básico de manifestos do Kubernetes

Estrutura de Diretórios

myapp/
├── base/
│   ├── kustomization.yaml
│   ├── deployment.yaml
│   ├── service.yaml
│   └── configmap.yaml
└── overlays/
    ├── development/
    │   ├── kustomization.yaml
    │   └── replica-patch.yaml
    ├── staging/
    │   ├── kustomization.yaml
    │   └── namespace.yaml
    └── production/
        ├── kustomization.yaml
        ├── replica-patch.yaml
        └── resource-patch.yaml

Configuração Base

kustomization.yaml

# base/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - deployment.yaml
  - service.yaml
  - configmap.yaml

commonLabels:
  app: myapp
  
commonAnnotations:
  managed-by: kustomize

Recursos Base

# base/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:latest
        ports:
        - containerPort: 8080
        resources:
          requests:
            memory: "64Mi"
            cpu: "100m"
          limits:
            memory: "128Mi"
            cpu: "200m"

Overlays

Overlay de Desenvolvimento

# overlays/development/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - ../../base

namespace: myapp-dev

namePrefix: dev-

commonLabels:
  environment: development

images:
  - name: myapp
    newTag: dev-latest

Overlay de Produção

# overlays/production/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - ../../base

namespace: myapp-prod

namePrefix: prod-

commonLabels:
  environment: production

replicas:
  - name: myapp
    count: 5

images:
  - name: myapp
    newName: registry.example.com/myapp
    newTag: v2.0.0

patches:
  - path: resource-patch.yaml

Aplicação de Patches

Strategic Merge Patch

# overlays/production/resource-patch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  template:
    spec:
      containers:
      - name: myapp
        resources:
          requests:
            memory: "256Mi"
            cpu: "500m"
          limits:
            memory: "512Mi"
            cpu: "1000m"

JSON Patch

# kustomization.yaml
patches:
  - target:
      kind: Deployment
      name: myapp
    patch: |-
      - op: replace
        path: /spec/replicas
        value: 5
      - op: add
        path: /spec/template/spec/containers/0/env
        value:
          - name: LOG_LEVEL
            value: info

Patches Inline

# kustomization.yaml
patches:
  - patch: |-
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: myapp
      spec:
        replicas: 3
    target:
      kind: Deployment
      name: myapp

Geração de Configuração

Gerador de ConfigMap

# kustomization.yaml
configMapGenerator:
  - name: myapp-config
    literals:
      - APP_ENV=production
      - LOG_LEVEL=info
    files:
      - config.yaml
    envs:
      - config.env
    options:
      disableNameSuffixHash: false

Gerador de Secret

# kustomization.yaml
secretGenerator:
  - name: myapp-secrets
    literals:
      - api-key=secret123
    files:
      - tls.crt
      - tls.key
    type: kubernetes.io/tls

Transformações de Imagem

# kustomization.yaml
images:
  # Change tag
  - name: myapp
    newTag: v2.0.0
  
  # Change registry
  - name: myapp
    newName: registry.example.com/myapp
    newTag: v2.0.0
  
  # Use digest
  - name: myapp
    digest: sha256:abc123...

Transformações de Recursos

Prefixo/Sufixo de Nome

# kustomization.yaml
namePrefix: prod-
nameSuffix: -v2

Namespace

# kustomization.yaml
namespace: production

Labels e Anotações

# kustomization.yaml
commonLabels:

…
Perguntas frequentes

O que é um 'manifest' do Kubernetes?

Um manifest é um arquivo de texto (geralmente YAML) que descreve como os recursos do Kubernetes (como aplicativos, bancos de dados) devem ser configurados e executados.

Qual a diferença entre Kustomize e usar modelos (templating)?

Modelos usam linguagens de programação para gerar configurações, o que pode ser complexo. Kustomize é declarativo, ou seja, você descreve o estado final desejado sem precisar de lógica de programação.

Preciso saber programar para usar Kustomize?

Não é preciso saber programar, mas é útil ter um conhecimento básico de como os arquivos de configuração do Kubernetes funcionam.

Detalhes

Descrição original do autor

Customize Kubernetes manifests without templating using Kustomize.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas