Bloki warunkowe z if i else
Renderowanie zasobów tylko po ich skonfigurowaniu.
Bloki warunkowe z if i else to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.
Renderuj tylko wtedy, gdy trzeba
Czasami zasób powinien pojawić się tylko wtedy, gdy użytkownik wyraźnie tego zażądał. Helm pozwala opakować ten YAML w warunek, aby renderować go na żądanie.
Instrukcja if
Blok if rozpoczyna się od {{ if SOMETHING }} i kończy za pomocą {{ end }}. Wszystko pomiędzy nimi jest renderowane tylko wtedy, gdy warunek jest prawdziwy.
{{ if .Values.ingress.enabled }}
# ingress yaml here
{{ end }}Sterowanie za pomocą values
Warunek zwykle zależy od wartości ustawianej przez użytkownika. Ustawienie ingress.enabled na true w values.yaml sprawia, że opakowany manifest nagle się pojawia.
ingress:
enabled: trueZawsze zamykaj za pomocą end
Każda instrukcja if musi mieć odpowiadające jej {{ end }}. Jeśli o nim Państwo zapomną, Helm zgłosi błąd niezakończonego bloku podczas renderowania chartu.
Dodawanie else
Potrzebują Państwo wartości zastępczej? Należy dodać gałąź {{ else }}. Helm renderuje pierwszy blok, gdy warunek jest prawdziwy, a w przeciwnym razie renderuje zamiast niego blok else.
{{ if .Values.tls }}
protocol: HTTPS
{{ else }}
protocol: HTTP
{{ end }}Łączenie za pomocą else if
W przypadku kilku wariantów należy łączyć warunki za pomocą {{ else if }}. Helm sprawdza je po kolei i renderuje pierwszą gałąź, której warunek jest prawdziwy.
{{ if eq .Values.tier "gold" }}
replicas: 5
{{ else if eq .Values.tier "silver" }}
replicas: 3
{{ else }}
replicas: 1
{{ end }}Co jest uznawane za true
Instrukcja if jest prawdziwa, chyba że wartość jest pusta: false, zero, pusty ciąg znaków lub pusta lista są w warunku traktowane jako false.
Zabezpieczanie opcjonalnych pól
Typowy wzorzec opakowuje jedno opcjonalne pole, a nie cały zasób. W tym przypadku adnotacja jest renderowana tylko wtedy, gdy użytkownik poda dla niej wartość.
{{ if .Values.email }}
contact: {{ .Values.email }}
{{ end }}Uważaj na puste wiersze
Blok if pozostawia puste wiersze w miejscu, w którym znajdowała się instrukcja. Te białe znaki mogą zepsuć YAML, dlatego wkrótce nauczą się Państwo je usuwać. 🧹
Podgląd gałęzi
Renderuj chart z różnymi wartościami i obserwuj, która gałąź zostaje wybrana. helm template wraz z --set pozwala sprawdzić każdy warunek, zanim cokolwiek zostanie wdrożone.
helm template ./mychart --set ingress.enabled=trueUstawianie wartości domyślnej brakującej flagi
Jeśli użytkownik nigdy nie ustawi flagi, będzie ona odczytywana jako pusta, a instrukcja if pozostanie fałszywa. Dlatego w values.yaml charty zawierają rozsądną wartość default.
ingress:
enabled: falseSzybkie sprawdzenie
W formularzu zapisują Państwo {{ if .Values.cache }}, ale chart nie daje się wyrenderować.
Podsumowanie
Mogą już Państwo warunkowo renderować YAML za pomocą if, dodawać gałęzie else i else if oraz pamiętać o zamykającym {{ end }}. Renderowanie warunkowe odblokowane! 🎯
Często zadawane pytania
Czy lekcja „Bloki warunkowe z if i else” jest bezpłatna?
Tak — pełny tekst „Bloki warunkowe z if i else” 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 „Bloki warunkowe z if i else”?
Renderowanie zasobów tylko po ich skonfigurowaniu. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Bloki warunkowe z if i else”?
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
- Bloki warunkowe z if i else
- Prawdziwość i operatory w warunkach
- Iterowanie po listach i mapach za pomocą range
- Ustalanie zakresu bloku za pomocą with