Kuid mõnikord peavad arendajad mitme tundmatu vea tõttu Podi taaskäivitama, rakenduse seisakutest taastama või uusi konfiguratsioone juurutama. Kahjuks pole ühtegi käsku nagu ' kubectl restart pod Podi taaskäivitamiseks. Siiski on Kubernetes Podide taaskäivitamiseks või ümberkonfigureerimiseks palju kaudseid meetodeid.
See blogi näitab:
- Mis on Podsi osariigid
- Podi taaskäivitamise põhjused
- Kuidas Podit taaskäivitada Kubernetese taaskäivituspoliitika abil?
- Kuidas Podit taaskäivitada Yamli manifesti rakendamisega?
- Kuidas Kubernetesis juurutust luua?
- Kuidas Kubectliga juurutuspulti taaskäivitada
- Järeldus
Mis on Podsi osariigid?
Kubernetesis on määratletud mitu kaunade olekut, mida saab kasutada Podi tervise ja oleku analüüsimiseks. Kubernetes Podsi olekud on järgmised:
- Ootel: Ühtegi konteinerit ei käivitata ja see ei oota Podi sees oleva konteineri käivitamist või luuakse pod ja ootab olulisi ressursse.
- Jooksmine: Kui kõik ressursid on poodile eraldatud ja kõik podi sees olevad konteinerid on tööolekus.
- Õnnestub: Kui kõik kaustas olevad konteinerid on töötlemise lõpetanud ja need on edukalt lõpetatud.
- Ebaõnnestunud: Kui kausta konteiner suletakse veaga, siis kausta olek nurjub.
- Tundmatu: Kui kauna olekut ei saa analüüsida. Tavaliselt ilmneb see tõrge Kubernetese sõlmega side katkemise tõttu.
Podi taaskäivitamise põhjused
Kaunad on Kubernetese klastri olulised komponendid ja peavad korralikult töötama. Kui see lakkab töötamast, võib see tekitada suuremate rakenduste jaoks kriitilist seisakuaega ja mõjutada rakenduste liiklust. Siin on mitu põhjust, miks arendajad peavad tavaliselt Podi taaskäivitama.
- Konfiguratsiooni muudatused: Kui arendajad peavad muudatused konfigureerima või rakendama, peavad nad Kubernetes Podi käsitsi taaskäivitama.
- Rakenduse värskendused: Kui Podis töötav rakendus rakendab värskendusi või vajab värskendust, tuleks Pod rakenduse värskendamiseks taaskäivitada (juurutusstsenaarium).
- Veaotsing: Podi sees töötava konteinerrakenduse tõrkeotsinguks on oluline podi taaskäivitamine.
- Osariigi puhastus: Podi oleku puhastamiseks võib kasutajal olla vaja Kubernetes Pod taaskäivitada.
- Lõppolekusse kinni jäänud: Mõnikord võib pod jääda lõpetamisolekusse, sellises olukorras on podi taaskäivitamine hädavajalik.
- Kustuta ressursipiirang: Ressursipiirangutele juurdepääsemiseks ja nende lahendamiseks võivad kaustad vajada taaskäivitamist.
Kuidas Podit taaskäivitada Kubernetese taaskäivituspoliitika abil?
Podisid saab käivitada Kubernetese juurutuse raames ja iseseisvalt ilma juurutamiseta. Sõltumatu Kubernetese kausta haldamine ja taaskäivitamine on pisut keeruline, kuna neil kaustadel pole ReplicaSet, mis sobiks Podide soovitud ja praeguse olekuga. Kubernetes Podide tõhusaks töötlemiseks saab kasutaja Podides määrata Kubernetese taaskäivituspoliitika.
Arendaja saab taaskäivitamise poliitikat rakendada käsurea kaudu ja ka Yaml-failis jaotise ' spec ' võti. Taaskäivitamise poliitikal võivad olla järgmised väärtused:
- Alati: See taaskäivitab alati Kubernetese podi, kui see lõpetab.
- Ebaõnnestumise korral: See taaskäivitab Podi ainult tõrke korral.
- Mitte kunagi: See ei taaskäivita Podi kunagi.
Podis taaskäivituspoliitika rakendamiseks tehke alltoodud samme.
1. samm: käivitage PowerShell
Esmalt käivitage PowerShell administraatoriõigustega menüü Start kaudu:
2. samm: käivitage Kubernetes Cluster
Käivitage Kubernetese klaster, kasutades ' minikube start 'käsk:
minikube start
Märge: Sel hetkel võib kasutaja klastri käivitamisel tekkida tõrge. Vea parandamiseks veenduge, et Dockeri mootor töötaks taustal ja käivitage minikube kustutada ” käsk. See käsk kustutab olemasoleva klastri ja loob selle nullist uuesti:
3. samm: käivitage Pod
Nüüd käivitage ' kubectl run
4. samm: pääsete juurde kaunadele
Kubernetese kaustale juurdepääsuks kasutage antud käsku:
kubectl saada kaunad
Märge: Kui pod on kustutatud, ei saa seda uuesti konfigureerida ja kasutajad peavad selle uuesti looma. Siiski on Yamli manifestiga podi käitamine parim valik kausta taasloomiseks või taaskäivitamiseks.
Kuidas Podit taaskäivitada Yamli manifesti rakendamisega?
Yamli manifesti kaudu muudatuste loomine ja rakendamine on kasulik uute värskenduste konfigureerimiseks ilma olemasolevat kausta kustutamata ning kui kasutaja kogemata kausta kustutab, saab selle hõlpsasti Yamli manifesti kaudu uuesti luua.
Podi loomiseks Yamli konfiguratsioonifaili abil ja muudatuse rakendamisega podi taaskäivitamiseks järgige järgmisi samme.
1. samm: looge fail 'pod.yml'.
Looge fail nimega ' pod.yml ” ja lisa antud juhised faili:
apiversioon: v1tüüp: kaunad
metaandmed:
nimi: nginx-pod
spetsifikatsioon:
konteinerid:
- nimi: nginx
pilt: nginx: stable-perl
pordid:
- konteineri port: 80
2. samm: looge Pod
Liikuge kataloogi, kus ' pod.yml ” fail on olemas:
cd C:\Users\Dell\Documents\Kubernetes\HTML
Järgmisena kasutage ' kubectl create -f
Kontrollimiseks pääsete kaunadele juurde, kasutades nuppu ' kubectl saada 'käsk:
kubectl saada kaunadSiin on podi taaskäivitamise olek ' 0 ” nagu me just podi lõime:
3. samm: tehke muudatus
Nüüd avage ' pod.yml ” faili ja tehke mõned muudatused, näiteks seadistage keskkonnamuutuja või muutke konteineri kujutist. Näiteks oleme muutnud konteineri pilti:
4. samm: konfiguratsioonide rakendamiseks taaskäivitage Pod
Rakendage muudatused Kubernetes Podis, kasutades ' kubectl apply -f
Nüüd avage pod ja kontrollige, kas muudatused on rakendatud ja kas pod on taaskäivitatud või mitte:
kubectl saada kaunadKauna ' TAASKÄIVITA ' olek on ' 1 ”, mis tähendab, et oleme podi edukalt taaskäivitanud:
Kuidas Kubernetesis juurutust luua?
Juurutuspodi taaskäivitamiseks peab kasutajatel olema Kubernetese klastris vähemalt üks juurutus. Kui olete juurutuse juba loonud, võite selle jaotise vahele jätta.
Kubernetese juurutuse loomiseks järgige loetletud samme.
1. toiming: looge fail „deployment.yml”.
Looge fail nimega ' juurutamine.yml ” faili ja kleepige allolev kood faili:
apiVersion: apps/v1tüüp: juurutamine
metaandmed:
nimi: html-deployment
sildid:
rakendus: nginx
spetsifikatsioon:
koopiad: 1
valija:
matchLabels:
rakendus: nginx
mall:
metaandmed:
sildid:
rakendus: nginx
spetsifikatsioon:
konteinerid:
- nimi: html
pilt: rafia098/html-img:1.0
pordid:
- konteineri port: 80
Järgmine on ülaltoodud koodi kirjeldus:
- ' lahke ” võti on uue juurutuse loomiseks seatud kui „juurutus”.
- ' nimi ” klahv määrab Kubernetese juurutuse nime.
- ' sildid klahvi kasutatakse juurutusobjekti märgistamiseks.
- ' koopiad ” klahvi kasutatakse kaustade koopiate arvu määramiseks.
- ' konteinerid ” klahv määrab konteineri konfiguratsiooni. Seda kasutatakse konteinerite rakenduste jaoks olulise teabe (nt konteineri nimi, pilt ja konteineri avatud port) täpsustamiseks.
2. samm: looge juurutus
Juurutuse loomiseks kasutage ' kubectl create -f
3. samm: kinnitamine
Et kontrollida, kas juurutus on loodud või mitte, hankige Kubernetese juurutus, kasutades allolevat käsku:
kubectl saada kasutuselevõtt
Kui juurutus luuakse, loob see ReplicaSeti ja kaustad. ReplicaSeti juurde pääsemiseks kasutage ' kubectl saada rs 'käsk:
kubectl saada rs
Kaunade hankimiseks kasutage allolevat käsku:
kubectl saada kaunad
Eespool näidatud pod luuakse juurutamise teel ja seda saab erinevate meetodite abil uuesti luua või taaskäivitada.
Kuidas kubectli abil juurutuspulti taaskäivitada?
' kubectl ” on käsureatööriist, mis haldab ja käitab Kubernetese ressursse. Podi taaskäivitamiseks kubectliga läbige loetletud meetodid:
- Taaskäivitage Pod, taaskäivitades juurutuse
- Taaskäivitage Pod, kustutades Podi
- Taaskäivitage Pod alla ja UP skaleerimisega
- Taaskäivitage Pod, naases eelmise juurutuse juurde
- Taaskäivitage Pod, määrates keskkonnamuutuja
1. meetod: taaskäivitage Pod, taaskäivitades juurutuse
Kubernetese podi taaskäivitamiseks saavad kasutajad juurutuse taaskäivitada. Juurutamise taaskäivitamine taaskäivitab ReplicaSeti ja loob kaustad uuesti.
Podi taaskäivitamiseks juurutamist taaskäivitades saab kasutaja kasutada kubectl juurutamine taaskäivitage juurutamine/
Kinnitamiseks avage podi, kasutades nuppu ' kubectl saada ” käsk. Ülaltoodud jaotises on juurutamisega loodud kaustal erinev nimi ja alloleval pod on erinev nimi, mis tähendab, et juurutamise taaskäivitamisel luuakse pod:
kubectl saada kaunad
2. meetod: taaskäivitage Pod, kustutades Podi
Juurutamise ajal loob juurutamise automaatse paranemismehhanismi ReplicaSeti abil podi uuesti, kui pod kustutatakse või lõpetatakse mingil teadmata põhjusel. ReplicaSet on juurutamise kontroller, mis vastutab soovitud oleku sobitamise eest podi praeguse olekuga.
Podi taaskäivitamiseks lülitage need esmalt sisse. Selleks kasutage ' - Sisse valik koos valikuga ' kubectl saada kaunad 'käsk:
kubectl get pods -w
Avage teine PowerShelli aken ja kasutage ' kubectl kustutada pod
Käivitage PowerShelli aken, kus podi olek on aktiivne. Märkate, et kui kausta kustutatakse, loob ReplicaSet automaatselt uuesti ja käivitab uue podi, et sobitada praegune kausta olek soovitud olekuga:
3. meetod: taaskäivitage Pod alla ja üles skaleerimisega
Juurutuse skaleerimine võib võimaldada kasutajal määrata pod-koopiate arvu. Kasutajad saavad tõhusalt peatada töötavad podid, skaleerides juurutuse nullini, ja saavad Podsid uuesti luua ja taaskäivitada, skaleerides juurutamist ja määrates pod-koopiad.
Podi taaskäivitamiseks skaleerige esmalt juurutus ja määrake selle koopiad podi jaoks väärtusele ' 0 ”. Selleks käivitage järgmine käsk:
kubectl scale deployment html-deployment --replicas=0
See eemaldab juurutuspuldi, nagu allpool näidatud:
kubectl saada kaunad
Pärast seda skaleerige juurutus uuesti ja käivitage vajalik arv pod-koopiaid, kasutades ' kubectl skaala juurutus
Nüüd pääsete uuesti kubernetes podi juurde, kasutades allolevat käsku:
kubectl saada kaunad
Podi nime erinevus kinnitab, et oleme podi edukalt taaskäivitanud:
4. meetod: taaskäivitage Pod, naases eelmise juurutuse juurde
Tagasipöördumine juurutuse eelmisele versioonile ainult podi taaskäivitamiseks ei ole hea valik. Siiski saab kasutaja kasutada tagasipööramismehhanismi, et podi taaskäivitada.
Podi taaskäivitamiseks, viies juurutuse tagasi eelmisele versioonile, kasutage kubectl juurutamine undo deployment
Nüüd pääsete Kubernetese kaunadele juurde, kasutades allolevat käsku:
kubectl saada kaunad
5. meetod: taaskäivitage Pod, määrates keskkonnamuutuja
Uue keskkonnamuutuja määramine või juurutamise konfiguratsiooni muutmine võib Kubernetese podi uuesti luua ja taaskäivitada.
Podi taaskäivitamiseks saab kasutaja määrata juurutamise keskkonnamuutuja, kasutades allolevat käsku. Näiteks oleme määranud ' KASUTAJA ” keskkonnamuutuja:
kubectl set env deployment/html-deployment USER='Linuxhint'
Kontrollimiseks hankige Kubernetese kaustad, kasutades allolevat käsku:
kubectl saada kaunad
Oleme käsitlenud kaunade kubectliga taaskäivitamise meetodeid.
Järeldus
Podi taaskäivitamiseks saab kasutaja kasutada Kubernetese taaskäivituspoliitikat või rakendada podi konfiguratsiooni, kasutades käsku ' kubectl rakendada ” käsk. Juurutuspuldi taaskäivitamiseks saab kasutada erinevaid meetodeid, nagu juurutuse taaskäivitamine, Podi kustutamine, skaleerimine alla ja üles, eelmisele juurutusele tagasipöördumine või podi taaskäivitamine keskkonnamuutuja või muude konfiguratsioonide abil. See postitus on illustreerinud meetodeid podi taaskäivitamiseks kubectliga.