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.
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.0Liikenteen 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=1Canaryn 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=0Canaryn 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=50Strategian 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.
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
- Deploymentien ymmärtäminen
- Sovellusten skaalaus ReplicaSetien avulla
- Vaiheittaiset päivitykset ja palautukset
- Käyttöönottostrategiat: blue-green ja canary