0Pricing
DevOps Bootcamp · Lekcja

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 wersja
  • values.yaml — domyślna konfiguracja
  • templates/ — 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.yaml

Szablony 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 production

Instalacja 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.yaml

Wycofywanie 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 3

Pakowanie 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/charts

Zadanie 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 }} \
        --wait

Szybkie 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 --install to 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

  1. Budowanie obrazów Docker za pomocą Actions
  2. Wysyłanie obrazów do rejestrów
  3. Wdrażanie do Kubernetes za pomocą Actions
  4. Wykresy Helm i manifesty Kubernetes w CI/CD
← Powrót do DevOps Bootcamp