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 Helm Academy 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 Helm Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Helm Academy 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-credentialsCodifique 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: passwordAdicione 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 Helm Academy, atualize para CoddyKit PRO. O curso de Helm Academy 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 Helm Academy 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 Helm Academy?
Nenhuma experiência prévia é necessária. Helm Academy 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 Helm Academy?
Sim. Cada aula de Helm Academy 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
- Por que os segredos não pertencem a values.yaml
- Criptografando valores com helm-secrets e SOPS
- Obtendo dados de operadores de segredos externos
- Criando modelos de recursos Secret do Kubernetes