0Pricing
Helm Academy · 강의

이름 있는 템플릿에 범위 전달하기

부분 템플릿에 올바른 컨텍스트 객체를 전달합니다.

이름 있는 템플릿에 범위 전달하기은(는) CoddyKit의 무료 Helm Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Helm Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Helm Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

부분 템플릿에는 문맥이 필요합니다

이름이 지정된 템플릿은 전달받은 내용만 읽을 수 있습니다. include의 두 번째 인수가 범위이며, 점은 부분 템플릿 내부에서 보게 될 값입니다.

{{ include "mychart.labels" . }}

점이 범위입니다

끝에 붙은 점은 현재 문맥입니다. 루트 점을 전달하면 부분 템플릿에서 .Values, .Release, .Chart에 접근할 수 있습니다.

범위를 잊으면 문제가 생깁니다

범위 없이 부분 템플릿을 호출하면 해당 부분 템플릿의 점은 nil이 됩니다. 그러면 내부의 .Values 참조가 빈 값으로 렌더링되거나 오류가 발생합니다.

{{ include "mychart.name" }}

루트 문맥 전달

대부분의 도우미는 전체 차트 문맥을 필요로 하므로 일반적인 점을 전달합니다. 이것이 표준 도우미를 작동하게 하는 안전한 기본값입니다.

{{ include "mychart.fullname" . }}

하위 객체 전달

때로는 부분 템플릿에 값의 한 부분만 필요합니다. 하위 트리를 전달하면 점이 정확히 해당 부분을 가리키도록 할 수 있습니다.

{{ include "mychart.ports" .Values.service }}

내부에서 점이 바뀝니다

.Values.service를 전달하면 이제 부분 템플릿의 점은 해당 객체가 됩니다. 따라서 더 이상 .Values.service.port가 아니라 .port를 직접 읽습니다.

{{- define "mychart.ports" -}}
port: {{ .port }}
{{- end -}}

의도적으로 루트를 포기하기

범위를 좁히면 편리하지만 .Release와 전역 값에는 접근할 수 없게 됩니다. 부분 템플릿에서는 전달한 객체만 볼 수 있습니다.

dict로 둘 다 전달하기

하위 트리와 루트를 모두 전달해야 합니까? 작은 dict를 만들어 전달한 다음, 부분 템플릿 안에서 각 항목의 키를 사용해 접근하십시오.

{{ include "mychart.tpl" (dict "top" . "svc" .Values.service) }}

묶어 전달한 범위 읽기

부분 템플릿 내부에서 키를 사용해 dict의 값을 꺼내십시오. 이제 .top을 통해 루트에, .svc를 통해 하위 트리에 동시에 접근할 수 있습니다.

{{- define "mychart.tpl" -}}
name: {{ .top.Release.Name }}
port: {{ .svc.port }}
{{- end -}}

범위 실수는 흔합니다

가장 흔한 버그는 .Release.Name을 읽지만 좁혀진 범위로 호출된 부분 템플릿입니다. 실제로 어떤 문맥을 전달했는지 항상 확인하십시오.

렌더링하여 범위 확인하기

helm template .을 실행하고 부분 템플릿의 출력이 채워졌는지 확인하십시오. 필드가 비어 있다면 대개 잘못된 범위가 부분 템플릿에 전달된 것입니다.

helm template my-release .

빠른 확인

부분 템플릿에 하위 트리와 .Release.Name이 모두 필요합니다. 둘 다 어떻게 전달해야 합니까?

복습: 범위 전달

부분 템플릿 이름 뒤의 인수가 해당 부분 템플릿의 점을 설정합니다. 루트 점, 하위 트리 또는 둘을 결합한 dict를 전달하십시오. 잘못된 범위는 빈 출력을 만듭니다. 🎯

자주 묻는 질문

“이름 있는 템플릿에 범위 전달하기” 강의는 무료인가요?

네 — “이름 있는 템플릿에 범위 전달하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Helm Academy 강의 전체를 잠금 해제할 수 있습니다. Helm Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“이름 있는 템플릿에 범위 전달하기”에서 뭘 배우나요?

부분 템플릿에 올바른 컨텍스트 객체를 전달합니다. 브라우저에서 직접 실행하는 실습 코드로 Helm Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Helm Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Helm Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“이름 있는 템플릿에 범위 전달하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Helm Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Helm Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. define으로 부분 템플릿 정의하기
  2. template 및 include로 부분 템플릿 삽입하기
  3. 표준 Fullname 및 Labels 도우미
  4. 이름 있는 템플릿에 범위 전달하기
← Helm Academy(으)로 돌아가기