Vaiheittaiset päivitykset ja palautukset
Toteuttakaa sovelluspäivityksiä ilman käyttökatkoja ja palauttakaa sovellus aiempaan versioon ongelmien ilmetessä.
Vaiheittaiset päivitykset ja palautukset on ilmainen Kubernetesin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 Kubernetesin perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Käyttökatkottomat päivitykset: miksi?
Kuvittele päivittäväsi käytössä olevaa sovellusta. Ilman huolellista suunnittelua käyttäjät saattavat kohdata käyttökatkoja tai virheitä. Tässä Kubernetesin vaiheittaiset päivitykset ovat parhaimmillaan!
Vaiheittaisten päivitysten avulla sovellus voidaan päivittää uuteen versioon keskeyttämättä palvelua. Uudet versiot otetaan käyttöön vähitellen, joten sovellus pysyy käytettävissä.
Miten Deploymentit käsittelevät päivityksiä
Kun päivität Deploymentin Pod-mallinetta, esimerkiksi vaihtamalla konttikuvan, Kubernetes ei yksinkertaisesti sammuta kaikkea ja käynnistä sitä uudelleen. Sen sijaan se käyttää oletusarvoisesti RollingUpdate-strategiaa.
- Se luo uusia Podeja päivitetyillä määrityksillä.
- Se lopettaa vanhoja Podeja vähitellen, kun uudet ovat valmiita.
- Tämä prosessi varmistaa sujuvan siirtymän ja pitää käyttökatkon mahdollisimman lyhyenä tai poistaa sen kokonaan.
Päivityksen nopeuden hallinta
Voit hienosäätää vaiheittaisten päivitysten toimintaa Deploymentin .spec.strategy.rollingUpdate-osiossa olevilla kahdella keskeisellä parametrilla:
maxUnavailable: Päivityksen aikana käytöstä poissa olevien Podien enimmäismäärä. Arvo voi olla absoluuttinen luku tai prosenttiosuus.maxSurge: Halutun Podien määrän lisäksi luotavien Podien enimmäismäärä. Myös tämä voi olla absoluuttinen luku tai prosenttiosuus.
Oletusarvoisesti molempien arvo on 25 %.
Ensimmäinen Deploymentimme
Aloitetaan yksinkertaisesta Nginx-deploymentista. Tämä YAML määrittelee sovelluksemme, joka käyttää kolmea nginx:1.14.2-replicaa.
Käytämme tätä pohjana vaiheittaiselle päivitykselle seuraavassa vaiheessa.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Vaiheittaisen päivityksen suorittaminen
Päivitetään nyt Nginx-versio versiosta 1.14.2 versioon 1.15.0. Vaihdamme YAML-tiedoston imagen ja otamme sen käyttöön.
Kubernetes havaitsee muutoksen ja aloittaa vaiheittaisen päivityksen automaattisesti. Tarkastele alla olevaa image-kenttää:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15.0
ports:
- containerPort: 80Päivityksen tilan seuraaminen
Kun olet ottanut päivitetyn YAML-tiedoston käyttöön, voit seurata vaiheittaisen päivityksen etenemistä kubectl rollout status -komennolla:
kubectl rollout status deployment/my-nginx
Näet viestejä uusien Podien luomisesta ja vanhojen lopettamisesta, kunnes päivitys on valmis. Voit myös käyttää komentoa kubectl get rs nähdäksesi vanhat ja uudet ReplicaSetit.
Päivityshistorian tarkistaminen
Kubernetes säilyttää Deploymentien versiohistorian. Tämä on erittäin hyödyllistä muutosten ymmärtämiseen ja mahdollisten palautusten tekemiseen.
Voit tarkastella historiaa seuraavalla komennolla:
kubectl rollout history deployment/my-nginx
Näet luettelon versioista, joista kukin edustaa Deploymentin erillistä tilaa. CHANGE-CAUSE kuvastaa usein komentoa tai YAML-muutosta.
Milloin palautusta tarvitaan
Huolellisesta testauksesta huolimatta uusi sovellusversio voi joskus sisältää virheitä tai suorituskykyongelmia, joita ei havaittu. Tällaisissa kriittisissä tilanteissa tarvitset nopean tavan palauttaa sovellus tunnettuun vakaaseen tilaan.
Tässä palautukset ovat hyödyllisiä. Niiden avulla voit kumota ongelmallisen päivityksen ja palauttaa Deploymentin historiassa olevaan aiempaan toimivaan versioon.
Palautuksen suorittaminen
Voit palauttaa sovelluksen välittömästi edeltäneeseen versioon komennolla:
kubectl rollout undo deployment/my-nginx
Jos haluat palauttaa tiettyyn versioon, kuten versioon 1, voit määrittää sen:
kubectl rollout undo deployment/my-nginx --to-revision=1
Kubernetes suorittaa uuden vaiheittaisen päivityksen palauttaakseen Podit määritettyyn aiempaan kokoonpanoon.
Päivitysstrategian tarkistus
Mitä seuraavista parametreista voidaan käyttää Kubernetes Deploymentin RollingUpdate-strategian toiminnan hallintaan?
Kertaus: sujuvat päivitykset ja turvaverkot
Olemme tarkastelleet, miten Kubernetes Deploymentit mahdollistavat käyttökatkottomat vaiheittaiset päivitykset ja siirtävät sovellukset hallitusti uusiin versioihin. Opit seuraavat asiat:
- Deploymentit käyttävät oletusarvoisesti
RollingUpdate-strategiaa. maxUnavailablejamaxSurgehallitsevat päivityksen nopeutta.kubectl rollout statusseuraa etenemistä.kubectl rollout historyseuraa versioita.kubectl rollout undomahdollistaa nopean palautuksen vakaaseen versioon.
Nämä ominaisuudet ovat ratkaisevan tärkeitä sovellusten korkean käytettävyyden ja luotettavuuden ylläpitämisessä!
Opi Kubernetesin perusteet 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
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Vaiheittaiset päivitykset ja palautukset” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kubernetesin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Vaiheittaiset päivitykset ja palautukset”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Vaiheittaiset päivitykset ja palautukset”?
Toteuttakaa sovelluspäivityksiä ilman käyttökatkoja ja palauttakaa sovellus aiempaan versioon ongelmien ilmetessä. Harjoittelet Kubernetesin perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kubernetesin perusteet-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kubernetesin perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Vaiheittaiset päivitykset ja palautukset”-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ä Kubernetesin perusteet-oppitunnilla?
Kyllä. Jokainen Kubernetesin perusteet-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