DevOps-bootcamp · Oppitunti

Käyttöönottostrategiat: blue-green ja canary

Siirtykää vaiheittaisia päivityksiä pidemmälle ja oppikaa julkaisemaan turvallisesti blue-green- ja canary-käyttöönottomalleilla Kubernetesissa.

Oppitunti 4/413 vaihetta

Käyttöönottostrategiat: blue-green ja canary 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.

Miksi pelkät rolling-päivitykset eivät riitä?

Rolling-päivitykset korvaavat Podit vähitellen, mutta niiden aikana vanhat ja uudet versiot ovat samanaikaisesti käytössä. Riskialttiissa julkaisuissa saatatte haluta täyden hallinnan siihen, mitkä käyttäjät näkevät uuden version.

Blue-green- ja canary-strategiat antavat teille tämän hallinnan.

Blue-green-malli

Blue-green-julkaisussa käytätte kahta identtistä ympäristöä:

  • Blue = nykyinen tuotantoversio
  • Green = uusi versio, joka on otettu kokonaan käyttöön mutta ei vielä vastaanota liikennettä

Vaihdatte liikenteen Bluesta Greeniin yhdellä kertaa.

Kaksi Deploymentia, yksi Service

Kumpikin versio on oma Deploymentinsa, jolla on versiota ilmaiseva label. Yksi Service valitsee kulloinkin käytössä olevan värin.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-blue
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
      version: blue
  template:
    metadata:
      labels:
        app: web
        version: blue
    spec:
      containers:
      - name: web
        image: myapp:1.0

Liikenteen vaihtaminen

Kun haluatte ottaa Greenin käyttöön, muokkaatte Servicen selectoria niin, että se osoittaa Green-versioon. Vaihto tapahtuu välittömästi.

kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'

Blue-green-mallin edut ja haitat

  • Etuna: nopea palautus vaihtamalla takaisin Blueen
  • Etuna: julkaisun aikana versiot eivät sekoitu
  • Haittana: päällekkäisen käyttöajan aikana tarvitaan kaksinkertaiset resurssit

Canary-malli

Canary-julkaisussa pieni osa liikenteestä ohjataan ensin uuteen versioon. Jos mittarit näyttävät tilanteen hyvältä, kasvatatte sen osuutta asteittain.

Nimi tulee kanarialinnuista, joita kaivostyöläiset käyttivät vaaran havaitsemiseen varhaisessa vaiheessa.

Canary-julkaisu replikoiden määrän avulla

Yksinkertaisessa canary-julkaisussa kaksi Deploymentia käyttää samaa Servicen labelia. Liikenne jakautuu suunnilleen replikoiden suhteessa.

# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1

Canaryn edistäminen

Kun luottamus kasvaa, siirrätte suhdetta vähitellen canaryn suuntaan ja poistatte vanhan version käytöstä, kun se palvelee kaikkea liikennettä.

kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0

Canaryn seuraaminen

Canaryn tarkoitus on seurata sen toimintaa. Tarkkailkaa virhemääriä, viivettä ja lokeja ennen canaryn edistämistä.

kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50

Strategian valitseminen

  • Blue-green: paras, kun haluatte selkeän, välittömän vaihdon ja nopean palautuksen
  • Canary: paras, kun haluatte rajoittaa vaikutusaluetta ja validoida muutoksen oikealla liikenteellä
  • Rolling: hyvä oletus vähäriskisiin ja tavanomaisiin päivityksiin

Kubectlin lisäksi käytettävät työkalut

Tarkasti rajattuun liikenteen jakamiseen (esimerkiksi täsmälleen 5 %) tiimit käyttävät service meshejä, kuten Istio, tai progressiivisen julkaisun työkaluja, kuten Argo Rollouts ja Flagger, jotka automatisoivat canary-analyysin.

Pikatarkistus

Valitkaa väittämä, joka kuvaa canary-julkaisua parhaiten.

Kertaus

Vertailitte edistyneitä julkaisustrategioita. Blue-green vaihtaa kaiken liikenteen välittömästi kahden ympäristön välillä, mikä mahdollistaa nopean palautuksen, kun taas canary siirtää liikennettä vähitellen ja rajoittaa riskiä. Molemmat perustuvat Deployment- ja Service-perusrakenteisiin, jotka tunnette jo.

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 ”Käyttöönottostrategiat: blue-green ja canary” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Käyttöönottostrategiat: blue-green ja canary”. 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 ”Käyttöönottostrategiat: blue-green ja canary”?

Siirtykää vaiheittaisia päivityksiä pidemmälle ja oppikaa julkaisemaan turvallisesti blue-green- ja canary-käyttöönottomalleilla Kubernetesissa. 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 ”Käyttöönottostrategiat: blue-green ja canary”-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. Deploymentien ymmärtäminen
  2. Sovellusten skaalaus ReplicaSetien avulla
  3. Vaiheittaiset päivitykset ja palautukset
  4. Käyttöönottostrategiat: blue-green ja canary
← Takaisin: DevOps-bootcamp