Helm Academy · Lekcja

Eksportowanie szablonów nazwanych do ponownego użycia

Udostępnianie partiali, które mogą dołączać inne charty.

Lekcja 2 z 413 kroki

Eksportowanie szablonów nazwanych do ponownego użycia to bezpłatna lekcja Helm Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Helm Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Helm Academy zawiera 4 lekcji w sumie.

Nazwane szablony są właściwą zawartością

Chart biblioteczny dostarcza swoją zawartość jako named templates. Definiuje się je za pomocą define, dokładnie tak jak w dowolnym pliku _helpers.tpl.

{{- define "common.fullname" -}}
{{ .Release.Name }}-{{ .Chart.Name }}
{{- end -}}

Stosowanie przestrzeni nazw dla szablonów

Nazwy szablonów są globalne w obrębie chartu i jego zależności. Należy poprzedzać je nazwą biblioteki, na przykład common.labels, aby uniknąć konfliktów.

{{- define "common.labels" -}}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}

Umieszczanie ich w templates

Szablony biblioteki znajdują się w katalogu templates chartu, w plikach, których nazwy zaczynają się od podkreślenia, aby Helm nigdy nie renderował ich jako manifestów.

common/
  templates/
    _labels.tpl
    _names.tpl

Define samo nie generuje danych wyjściowych

Samodzielny blok define niczego nie generuje podczas renderowania chartu. Szablon emituje tekst dopiero wtedy, gdy inny chart dołączy go później.

Eksportowanie całego zasobu

Można zdefiniować cały obiekt Kubernetes jako jeden nazwany szablon. Użytkownicy biblioteki mogą wtedy wyrenderować kompletny obiekt Service za pomocą pojedynczego wywołania include.

{{- define "common.service" -}}
apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}
{{- end -}}

Akceptowanie kontekstu wywołującego

Wewnątrz fragmentu kropka oznacza wszystko, co przekazał wywołujący. Odczytywanie .Values i .Release pozwala szablonowi dostosować się do każdego chartu korzystającego z biblioteki.

{{- define "common.image" -}}
{{ .Values.image.repository }}:{{ .Values.image.tag }}
{{- end -}}

Dokumentowanie oczekiwanego zakresu

Ponieważ fragmenty ufają przekazanym danym, należy zostawić komentarz opisujący wymagany przez nie context. Użytkownik, który przekaże nieprawidłową kropkę, otrzyma niezrozumiałe błędy.

{{/* common.fullname expects the root context (.) */}}

Jedna odpowiedzialność na szablon

Logikę należy dzielić na małe, wyspecjalizowane fragmenty: jeden do names, jeden do etykiet i jeden do selektorów. Małe elementy można łatwo łączyć w wielu chartach.

Znaczenie znaczników białych znaków

Bloki define i end należy otaczać dash markers, takimi jak {{- i -}}, aby wynik biblioteki nie dodawał zbędnych pustych wierszy do YAML użytkownika.

{{- define "common.name" -}}
{{ .Chart.Name }}
{{- end -}}

Nic nie jest eksportowane przed dołączeniem

Zdefiniowanie szablonu sprawia, że jest on available, ale nie aktywny. Generuje dane wyjściowe dopiero wtedy, gdy chart aplikacji wywoła na nim include lub template.

Mały zestaw pomocników wielokrotnego użytku

Kilka fragmentów, takich jak common.fullname i common.labels, tworzy wspólny język, na którym może opierać się każdy chart zespołu.

{{- define "common.fullname" -}}
{{ printf "%s-%s" .Release.Name .Chart.Name }}
{{- end -}}

Szybkie sprawdzenie

Dlaczego biblioteka powinna poprzedzać swoje nazwy szablonów, na przykład używać common.labels zamiast labels?

Podsumowanie: eksportowanie szablonów

Dowiedział się Pan/Dowiedziała się Pani, jak publikować logikę wielokrotnego użytku za pomocą define w plikach z podkreśleniem na początku nazwy, nadawać nazwom przestrzeń nazw i korzystać z kropki wywołującego jako kontekstu. 🧩

Bezpłatny start

Ucz się YAML dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Eksportowanie szablonów nazwanych do ponownego użycia” jest bezpłatna?

Tak — pełny tekst „Eksportowanie szablonów nazwanych do ponownego użycia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Helm Academy, przejdź na CoddyKit PRO. Kurs Helm Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Eksportowanie szablonów nazwanych do ponownego użycia”?

Udostępnianie partiali, które mogą dołączać inne charty. Ćwiczysz Helm Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Helm Academy?

Nie wymagamy żadnego doświadczenia. Helm Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Eksportowanie szablonów nazwanych do ponownego użycia”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Helm Academy?

Tak. Każda lekcja Helm Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Deklarowanie typu chartu bibliotecznego
  2. Eksportowanie szablonów nazwanych do ponownego użycia
  3. Używanie biblioteki jako zależności
  4. Lokalne nadpisywanie domyślnych wartości biblioteki
← Powrót do Helm Academy