Wykresy Helm i manifesty Kubernetes w CI/CD
Pakuj i wersjonuj wdrożenia Kubernetes za pomocą wykresów Helm, szablonuj konfigurację dla poszczególnych środowisk i automatyzuj wydawanie wykresów z GitHub Actions.
Wykresy Helm i manifesty Kubernetes w CI/CD to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 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.
Problem rozrostu manifestów
Wdrażanie na Kubernetes oznacza konieczność pisania wielu manifestów YAML: Deployments, Services, ConfigMaps i Ingresses. Kopiowanie ich dla każdego środowiska szybko staje się trudne do zarządzania.
Helm rozwiązuje ten problem, pakując manifesty w wielokrotnego użytku, wersjonowany chart.
Czym jest Helm?
Helm to menedżer pakietów dla Kubernetes. Chart to pakiet szablonowych manifestów wraz z wartościami domyślnymi.
Chart.yaml— metadane chartu i jego wersjavalues.yaml— domyślna konfiguracjatemplates/— szablony manifestów
Struktura chartu
Typowy katalog chartu wygląda w ten sposób. Helm renderuje szablony z użyciem wartości, aby wygenerować końcowy YAML Kubernetes.
mychart/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yamlSzablony z użyciem wartości
Szablony używają symboli zastępczych pobierających dane z values.yaml. Dzięki temu jeden szablon może obsługiwać wiele środowisk.
# templates/deployment.yaml
spec:
replicas: {{ .Values.replicaCount }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}Wartości dla poszczególnych środowisk
Należy przechowywać osobny plik wartości dla każdego środowiska i przekazywać go podczas instalacji. Środowisko staging może uruchamiać 1 replikę, a produkcyjne 5.
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--namespace productionInstalacja a aktualizacja
Polecenie helm upgrade --install jest idempotentne: instaluje release, jeśli jeszcze nie istnieje, albo go aktualizuje, jeśli już istnieje.
To pojedyncze polecenie doskonale sprawdza się w CI/CD, ponieważ działa zarówno podczas pierwszego, jak i kolejnych wdrożeń.
Ustawianie tagu obrazu w CI
W CI zwykle wstrzykuje się tag świeżo zbudowanego obrazu (często SHA commita) za pomocą --set.
Łączy to wydanie Kubernetes z dokładnie tym artefaktem, który właśnie utworzył potok.
- run: |
helm upgrade --install myapp ./mychart \
--set image.tag=${{ github.sha }}Weryfikacja chartów
Przed wdrożeniem należy zweryfikować chart za pomocą helm lint i wyrenderować go za pomocą helm template, aby odpowiednio wcześnie wykryć błędy YAML lub szablonów.
- run: helm lint ./mychart
- run: helm template myapp ./mychart -f values-prod.yamlWycofywanie zmian za pomocą Helm
Helm śledzi każde wdrożenie jako numerowaną rewizję. Jeśli wdrożenie się nie powiedzie, można je natychmiast wycofać.
Dobrze współgra to z praktykami odzyskiwania po awarii, ponieważ jest szybkie i deterministyczne.
helm history myapp
helm rollback myapp 3Pakowanie i publikowanie
Wykresy można pakować do archiwów z wersją i przesyłać do repozytorium wykresów lub rejestru OCI, podobnie jak obrazy kontenerów.
Dzięki temu inne zespoły mogą korzystać z wykresu, wskazując jego wersję.
helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/chartsZadanie wdrażające Helm
Połączmy wszystko: uwierzytelnij się w klastrze, skonfiguruj Helm, a następnie wykonaj aktualizację. Akcja Azure setup-helm instaluje interfejs CLI na runnerze.
- uses: azure/setup-helm@v4
- run: |
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--set image.tag=${{ github.sha }} \
--waitSzybkie sprawdzenie
Sprawdź swoje zrozumienie Helm w CI/CD.
Podsumowanie
Nauczyłeś się wdrażać aplikacje Kubernetes za pomocą Helm.
- Wykresy pakują szablonowe manifesty oraz plik
values.yaml - Pliki wartości dla poszczególnych środowisk konfigurują środowiska staging i produkcyjne
helm upgrade --installto idempotentne polecenie wdrażania w CI- Rewizje umożliwiają natychmiastowe wycofanie zmian, a wykresy można publikować tak jak obrazy
Helm przekształca surowe manifesty w wersjonowane, wielokrotnego użytku wydania.
Często zadawane pytania
Czy lekcja „Wykresy Helm i manifesty Kubernetes w CI/CD” jest bezpłatna?
Tak — pełny tekst „Wykresy Helm i manifesty Kubernetes w CI/CD” 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 „Wykresy Helm i manifesty Kubernetes w CI/CD”?
Pakuj i wersjonuj wdrożenia Kubernetes za pomocą wykresów Helm, szablonuj konfigurację dla poszczególnych środowisk i automatyzuj wydawanie wykresów z GitHub Actions. Ć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 4 z 4.
Ile czasu zajmuje lekcja „Wykresy Helm i manifesty Kubernetes w CI/CD”?
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
- Budowanie obrazów Docker za pomocą Actions
- Wysyłanie obrazów do rejestrów
- Wdrażanie do Kubernetes za pomocą Actions
- Wykresy Helm i manifesty Kubernetes w CI/CD