DevOps-bootcamp · Oppitunti

Helm Charts ja Kubernetes-manifestit CI/CD:ssä

Paketoikaa ja versioikaa Kubernetes-käyttöönotot Helm Chartseilla, mallintakaa ympäristökohtainen määritys ja automatisoikaa Chart-julkaisut GitHub Actionsista.

Oppitunti 4/413 vaihetta

Helm Charts ja Kubernetes-manifestit CI/CD:ssä on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Manifestien määrän hallitsematon kasvu

Kubernetesiin käyttöönotto tarkoittaa monien YAML-manifestien kirjoittamista: Deployment-, Service-, ConfigMap- ja Ingress-resursseja. Niiden kopioiminen ympäristökohtaisesti muuttuu nopeasti hallitsemattomaksi.

Helm ratkaisee tämän paketoimalla manifestit uudelleenkäytettäväksi ja versioiduksi chartiksi.

Mikä Helm on

Helm on Kubernetesin paketinhallinta. Chart on mallinnettujen manifestien ja oletusarvojen muodostama paketti.

  • Chart.yaml — chartin metatiedot ja versio
  • values.yaml — oletusasetukset
  • templates/ — manifestimallineet

Chartin rakenne

Tyypillinen chart-hakemisto näyttää tältä. Helm muodostaa mallineista arvojen avulla lopullisen Kubernetes- YAML:n.

mychart/
  Chart.yaml
  values.yaml
  templates/
    deployment.yaml
    service.yaml

Mallineistus arvojen avulla

Mallineet käyttävät paikanhaltijoita, joiden arvot haetaan tiedostosta values.yaml. Näin yksi malline voi palvella useita ympäristöjä.

# templates/deployment.yaml
spec:
  replicas: {{ .Values.replicaCount }}
  image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

Ympäristökohtaiset arvot

Säilyttäkää kullekin ympäristölle oma arvotiedosto ja välittäkää se asennuksen yhteydessä. Staging-ympäristössä voidaan käyttää yhtä replikaa ja tuotannossa viittä.

helm upgrade --install myapp ./mychart \
  -f values-prod.yaml \
  --namespace production

Asennus verrattuna päivitykseen

helm upgrade --install -komento on idempotentti: se asentaa releasen, jos sitä ei ole olemassa, tai päivittää sen, jos se on jo olemassa.

Tämä yksittäinen komento sopii erinomaisesti CI/CD:hen, koska se toimii sekä ensimmäisissä että myöhemmissä käyttöönotoissa.

Image-tagin asettaminen CI:ssä

CI:ssä juuri rakennetun imagen tagi (usein commit SHA) välitetään yleensä komennon --set avulla.

Näin Kubernetes-julkaisu yhdistetään täsmälleen siihen artefaktiin, jonka pipeline juuri tuotti.

  - run: |
      helm upgrade --install myapp ./mychart \
        --set image.tag=${{ github.sha }}

Chartien tarkistaminen

Ennen käyttöönottoa tarkistakaa chart komennolla helm lint ja renderöikää se komennolla helm template, jotta YAML- tai mallinevirheet havaitaan ajoissa.

  - run: helm lint ./mychart
  - run: helm template myapp ./mychart -f values-prod.yaml

Palautukset Helmillä

Helm seuraa jokaista julkaisua numeroituna revisiona. Jos käyttöönotto epäonnistuu, voit palauttaa aiemman version heti.

Tämä sopii hyvin yhteen palautumiskäytäntöjen kanssa, koska toiminto on nopea ja deterministinen.

helm history myapp
helm rollback myapp 3

Paketointi ja julkaiseminen

Chartit voidaan paketoida versioiduiksi arkistoiksi ja lähettää chart-repositorioon tai OCI-rekisteriin aivan kuten konttikuvat.

Näin muut tiimit voivat käyttää chartiasi version perusteella.

helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/charts

Helm-käyttöönottotyö

Kootaan kokonaisuus: todenna yhteys klusteriin, määritä Helm ja suorita sitten päivitys. Azure setup-helm -toiminto asentaa CLI:n runneriin.

  - uses: azure/setup-helm@v4
  - run: |
      helm upgrade --install myapp ./mychart \
        -f values-prod.yaml \
        --set image.tag=${{ github.sha }} \
        --wait

Pikatesti

Testaa, miten hyvin ymmärrät Helmin käytön CI/CD:ssä.

Kertaus

Opit ottamaan Kubernetes-sovelluksia käyttöön Helmillä.

  • Chartit paketoivat mallinnetut manifestit ja values.yaml-tiedoston
  • Ympäristökohtaiset values-tiedostot määrittävät staging- ja tuotantoympäristön asetukset
  • helm upgrade --install on idempotentti CI-käyttöönottokomento
  • Revisiot mahdollistavat välittömät palautukset, ja chartit voidaan julkaista kuvien tavoin

Helm muuntaa raakamanifestit versioiduiksi ja uudelleenkäytettäviksi julkaisuiksi.

Aloita maksutta

Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
142
Oppitunnit
568

Usein kysytyt kysymykset

Onko oppitunti ”Helm Charts ja Kubernetes-manifestit CI/CD:ssä” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Helm Charts ja Kubernetes-manifestit CI/CD:ssä”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Helm Charts ja Kubernetes-manifestit CI/CD:ssä”?

Paketoikaa ja versioikaa Kubernetes-käyttöönotot Helm Chartseilla, mallintakaa ympäristökohtainen määritys ja automatisoikaa Chart-julkaisut GitHub Actionsista. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Helm Charts ja Kubernetes-manifestit CI/CD:ssä”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?

Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Docker-näköistiedostojen koonti Actionsilla
  2. Näköistiedostojen lähettäminen rekistereihin
  3. Käyttöönotto Kubernetesiin Actionsilla
  4. Helm Charts ja Kubernetes-manifestit CI/CD:ssä
← Takaisin: DevOps-bootcamp