0Pricing
DevOps Bootcamp · Aula

Criando modelos de recursos Secret do Kubernetes

Renderizando objetos Secret sem expor valores

Criando modelos de recursos Secret do Kubernetes é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Os pacotes podem renderizar Secrets

Às vezes, o seu pacote precisa produzir um objeto Secret do Kubernetes por conta própria. Com cuidado, você pode criar um template para ele sem vazar o valor.

Estrutura do manifesto Secret

Um Secret do Kubernetes é apenas um manifesto com uma seção data. Cada valor em data deve ser texto codificado em Base64.

apiVersion: v1
kind: Secret
metadata:
  name: db-credentials

Codifique data com b64enc

Em data, você codifica cada valor. O auxiliar do Sprig, b64enc, converte uma cadeia de texto simples no formato Base64 esperado pelo Kubernetes.

data:
  password: {{ .Values.password | b64enc }}

Use stringData para ignorar a codificação

Prefira stringData quando quiser evitar o uso manual de b64enc. O Kubernetes codifica esses valores para você no lado do servidor.

stringData:
  password: {{ .Values.password | quote }}

A codificação ainda não é um segredo

Lembre-se de que o valor renderizado no manifesto está apenas codificado. Quem puder lê-lo novamente poderá decodificá-lo instantaneamente.

Não o imprima em NOTES.txt

Um vazamento comum é repetir o valor em NOTES.txt. Em vez disso, imprima instruções para obtê-lo, para que o texto simples nunca apareça na saída do comando.

Reutilize um Secret existente

Melhor ainda, permita que os usuários apontem para um existingSecret que criaram separadamente, para que o seu pacote nunca receba o valor.

{{- if not .Values.existingSecret }}
kind: Secret
{{- end }}

Exija um valor obrigatório

Quando um segredo for realmente obrigatório, a função required interromperá a renderização com uma mensagem clara se o valor estiver ausente.

password: {{ required "password is required" .Values.password | b64enc }}

Monte, não incorpore

Faça com que os pods leiam o Secret por meio de secretKeyRef ou de um volume montado, em vez de inserir o valor literal em uma variável de ambiente do contêiner.

valueFrom:
  secretKeyRef:
    name: db-credentials
    key: password

Adicione uma anotação para a rotação

Para reiniciar os pods quando um Secret mudar, adicione uma anotação de soma de verificação à implantação, para que um novo valor acione uma reinicialização.

checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}

Combine as estratégias

Os melhores pacotes combinam as ideias: prefira segredos existentes ou externos, codifique apenas quando necessário e nunca repita o valor.

Verificação rápida

Como você permite que o Kubernetes faça a codificação Base64 por você?

Recapitulação

Você aprendeu a criar um template Secret com segurança: codifique com b64enc ou stringData, prefira segredos existentes e nunca imprima o valor. 🎉

Perguntas Frequentes

A aula “Criando modelos de recursos Secret do Kubernetes” é grátis?

Sim — o texto completo de “Criando modelos de recursos Secret do Kubernetes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Criando modelos de recursos Secret do Kubernetes”?

Renderizando objetos Secret sem expor valores Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Criando modelos de recursos Secret do Kubernetes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por que os segredos não pertencem a values.yaml
  2. Criptografando valores com helm-secrets e SOPS
  3. Obtendo dados de operadores de segredos externos
  4. Criando modelos de recursos Secret do Kubernetes
← Voltar para DevOps Bootcamp