0Pricing
DevOps Bootcamp · Lekcja

Eksportowanie szablonów nazwanych do ponownego użycia

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

Eksportowanie szablonów nazwanych do ponownego użycia to bezpłatna lekcja DevOps Bootcamp 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp 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. 🧩

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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp 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 DevOps Bootcamp 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ąć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp 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 DevOps Bootcamp