Middle
Kuidas automaatselt Helm Charti juurutada?
sobes.tech AI
Vastus AI-lt
CI/CD toru kasutamine.
Tüüpilised etapid:
- Ehitus (Build): rakenduse pildi loomine (Docker).
- Testimine (Test): koodi/pildi funktsionaalsuse ja kvaliteedi kontroll.
- Pakkimine (Package): Helm diagrammi loomine või uuendamine ning selle pakkimine (
helm package). - Avaldamine (Publish): paketi salvestamine hoidlas (näiteks ChartMuseum, Artifact Registry).
- 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).