Passando escopo para um modelo nomeado
Envie o objeto de contexto correto para um parcial.
Passando escopo para um modelo nomeado é 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.
Fragmentos precisam de contexto
Um modelo nomeado só pode ler o que você passar a ele. O segundo argumento de include é o escopo, o ponto que o fragmento verá internamente.
{{ include "mychart.labels" . }}O ponto é o escopo
Esse ponto final é o contexto atual. Passar o ponto raiz dá ao fragmento acesso a .Values, .Release e .Chart.
Esquecer o escopo causa problemas
Se você chamar um fragmento sem um escopo, o ponto dele se tornará nil. Qualquer referência a .Values dentro dele será renderizada vazia ou gerará erros.
{{ include "mychart.name" }}Passando o contexto raiz
A maioria dos auxiliares espera o contexto completo do gráfico, então você passa o ponto simples. Esse é o padrão seguro que faz os auxiliares padrão funcionarem.
{{ include "mychart.fullname" . }}Passando um subobjeto
Às vezes, um fragmento precisa apenas de uma parte dos valores. Você pode passar uma subárvore para que o ponto dela aponte exatamente para essa parte.
{{ include "mychart.ports" .Values.service }}Internamente, o ponto muda
Quando você passa .Values.service, o ponto do fragmento passa a ser esse objeto. Ele lê .port diretamente, em vez de .Values.service.port.
{{- define "mychart.ports" -}}
port: {{ .port }}
{{- end -}}Perdendo a raiz de propósito
Restringir o escopo é útil, mas impede o acesso a .Release e aos valores globais. O fragmento só vê o objeto que você passou.
Passe ambos com um dict
Precisa de uma subárvore e da raiz? Crie um pequeno dict e passe-o; depois, acesse cada parte pela respectiva chave dentro do fragmento.
{{ include "mychart.tpl" (dict "top" . "svc" .Values.service) }}Lendo o escopo agrupado
Dentro do fragmento, desempacote o dict pela chave. Agora você tem a raiz por meio de .top e a subárvore por meio de .svc, ambas disponíveis ao mesmo tempo.
{{- define "mychart.tpl" -}}
name: {{ .top.Release.Name }}
port: {{ .svc.port }}
{{- end -}}Erros de escopo são comuns
O erro clássico é um fragmento que lê .Release.Name, mas foi chamado com um escopo restrito. Sempre verifique qual contexto você realmente passou.
Renderize para verificar o escopo
Execute helm template . e confirme se a saída do fragmento está preenchida. Campos vazios geralmente significam que o escopo errado chegou ao fragmento.
helm template my-release .Verificação rápida
Um fragmento precisa de uma subárvore e de .Release.Name. Como fornecer ambos?
Recapitulação: passando o escopo
O argumento após o nome de um fragmento define seu ponto. Passe o ponto raiz, uma subárvore ou um dict para combinar ambos. Escopo errado significa saída vazia. 🎯
Aprenda YAML com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Passando escopo para um modelo nomeado” é grátis?
Sim — o texto completo de “Passando escopo para um modelo nomeado” é 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 “Passando escopo para um modelo nomeado”?
Envie o objeto de contexto correto para um parcial. 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 “Passando escopo para um modelo nomeado”?
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
- Definindo um parcial com define
- Inserindo parciais com template e include
- Os auxiliares padrão Fullname e Labels
- Passando escopo para um modelo nomeado