Sobes.tech
Middle

Kuidas automaatselt Helm Charti juurutada?

sobes.tech AI

Vastus AI-lt

CI/CD toru kasutamine.

Tüüpilised etapid:

  1. Ehitus (Build): rakenduse pildi loomine (Docker).
  2. Testimine (Test): koodi/pildi funktsionaalsuse ja kvaliteedi kontroll.
  3. Pakkimine (Package): Helm diagrammi loomine või uuendamine ning selle pakkimine (helm package).
  4. Avaldamine (Publish): paketi salvestamine hoidlas (näiteks ChartMuseum, Artifact Registry).
  5. Juhtimine (Deploy): Helm diagrammi väljaandmise uuendamine või paigaldamine Kubernetes klastrisse (helm upgrade --install).

Tööriistad:

  • CI/CD platvormid: GitLab CI, GitHub Actions, Jenkins, CircleCI.
  • Helm: paketihaldustööriist Kubernetes jaoks.
  • Diagrammi hoidlad: ChartMuseum, Nexus, Artifactory.
  • Kubernetes CLI: kubectl.

Näide torust (GitHub Actions):

name: Deploy Helm Chart

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Koodi kontroll
        uses: actions/checkout@v3

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

      - name: Helm diagrammi pakkimine
        run: helm package ./charts/my-app # Diagrammi pakkimine

      - name: Kubernetesi volituste konfiguratsioon
        # Samm klastrile juurdepääsu seadistamiseks (näiteks teenuse konto kaudu)
        run: |
          echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config

      - name: Helm diagrammi juurutamine
        # Juurutamine/uute versioonide uuendamine
        run: |
          helm upgrade --install \
            my-release \
            ./my-app-*.tgz \
            --namespace my-namespace \
            --values ./charts/my-app/values.yaml \
            --wait # oodake, kuni versioon on valmis

Automatiseerimine võimaldab vähendada käsitsi tehtavaid toiminguid, suurendada juurutamise sagedust ja tagada protsessi korduvus. Oluline hetk – integreerimine versioonikontrolli süsteemi ja infrastruktuuriga (Kubernetes).