Sobes.tech
Middle

Ako automaticky nasadiť Helm Chart?

sobes.tech AI

Odpoveď od AI

Použite CI/CD pipeline.

Typické fázy:

  1. Build (Stavba): Vytvorenie obrazu aplikácie (Docker).
  2. Testovanie: Kontrola funkčnosti a kvality kódu/obrazu.
  3. Balíčkovanie (Package): Vytvorenie alebo aktualizácia Helm chartu a jeho zabalenie (helm package).
  4. Publikovanie (Publish): Uloženie zabaleného chartu do repozitára (napríklad ChartMuseum, Artifact Registry).
  5. Nasadenie (Deploy): Aktualizácia alebo inštalácia verzie Helm chartu v Kubernetes klastre (helm upgrade --install).

Nástroje:

  • CI/CD platformy: GitLab CI, GitHub Actions, Jenkins, CircleCI.
  • Helm: Nástroj na správu balíčkov pre Kubernetes.
  • Repozitáre chartov: ChartMuseum, Nexus, Artifactory.
  • Kubernetes CLI: kubectl.

Príklad časti pipeline (GitHub Actions):

name: Deploy Helm Chart

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Klonovanie kódu
        uses: actions/checkout@v3

      - name: Inštalácia Helm
        uses: azure/setup-helm@v3
        with:
          version: '3.x'

      - name: Zabalenie Helm chartu
        run: helm package ./charts/my-app # Zabalenie chartu

      - name: Konfigurácia Kubernetes poverení
        # Krok na nastavenie prístupu ku klastru (napr. cez service account)
        run: |
          echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config

      - name: Nasadenie Helm chartu
        # Deploy/Update release
        run: |
          helm upgrade --install \
            my-release \
            ./my-app-*.tgz \
            --namespace my-namespace \
            --values ./charts/my-app/values.yaml \
            --wait # Čakanie na pripravenosť release

Automatizácia umožňuje znížiť manuálne operácie, zvýšiť frekvenciu nasadení a zabezpečiť reprodukovateľnosť procesu. Kľúčom je integrácia s systémom riadenia verzií a infraštruktúrou (Kubernetes).