Sobes.tech
Middle

Kaip automatiškai diegti Helm Chart?

sobes.tech AI

Atsakymas iš AI

Naudoti CI/CD vamzdelį.

Tipiniai etapai:

  1. Kūrimas (Build): programos vaizdo kūrimas (Docker).
  2. Testavimas (Test): kodo/vaizdo funkcionalumo ir kokybės patikrinimas.
  3. Pakavimas (Package): Helm chart kūrimas arba atnaujinimas ir jo pakavimas (helm package).
  4. Paskelbimas (Publish): paketo išsaugojimas saugykloje (pvz., ChartMuseum, Artifact Registry).
  5. Diegimas (Deploy): Helm chart leidimo atnaujinimas arba diegimas Kubernetes klasteryje (helm upgrade --install).

Įrankiai:

  • CI/CD platformos: GitLab CI, GitHub Actions, Jenkins, CircleCI.
  • Helm: paketų valdymo įrankis Kubernetes.
  • Chart saugyklos: ChartMuseum, Nexus, Artifactory.
  • Kubernetes CLI: kubectl.

Pavyzdinis vamzdelio (GitHub Actions) scenarijus:

name: Deploy Helm Chart

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Patikrinti kodą
        uses: actions/checkout@v3

      - name: Įdiegti Helm
        uses: azure/setup-helm@v3
        with:
          version: '3.x'

      - name: Paketuoti Helm chart
        run: helm package ./charts/my-app # Paketo kūrimas

      - name: Konfigūruoti Kubernetes prisijungimo duomenis
        # Žingsnis, skirtas nustatyti prieigą prie klasterio (pvz., per paslaugos sąskaitą)
        run: |
          echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config

      - name: Diegti Helm chart
        # Diegimas/atnaujinimas leidimo
        run: |
          helm upgrade --install \
            my-release \
            ./my-app-*.tgz \
            --namespace my-namespace \
            --values ./charts/my-app/values.yaml \
            --wait # laukti, kol leidimas bus paruoštas

Automatizacija leidžia sumažinti rankinius veiksmus, padidinti diegimo dažnumą ir užtikrinti proceso pakartojamumą. Svarbus momentas – integracija su versijų valdymo sistema ir infrastruktūra (Kubernetes).