Kuidas Podit kubectliga taaskäivitada

Kuidas Podit Kubectliga Taaskaivitada



Pod on Kubernetese klastrite väiksem element, mida kasutatakse konteinerrakenduste ja nendega seotud mahtude kapseldamiseks. Need kaustad käivitatakse Kubernetese sõlmedes ja iga sõlm saab töödelda mitut kausta. Üksik Kubernetes Pod võib käitada nii üht konteinerit kui ka mitut jagatud võrgu- ja salvestusressurssidega konteinerit. Need kaunad tagavad isolatsiooni nagu konteineri isolatsioon.

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?

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 ‐‐image= ‐‐restart= ” käsk. Siin on ' ‐‐pilt suvand ” määrab pildi, millega konteinerit kausta sees käitatakse, ja „ --Taaskäivita ” valik määrab Kubernetese taaskäivituspoliitika:

kubectl run nginx --image=nginx --restart=Alati

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: v1
tüü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 ” käsk podi loomiseks:

kubectl create -f pod.yml

Kontrollimiseks pääsete kaunadele juurde, kasutades nuppu ' kubectl saada 'käsk:

kubectl saada kaunad

Siin 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 'käsk:

kubectl apply -f pod.yml

Nüüd avage pod ja kontrollige, kas muudatused on rakendatud ja kas pod on taaskäivitatud või mitte:

kubectl saada kaunad

Kauna ' 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/v1
tüü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 'käsk:

kubectl create -f deployment.yml

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/ 'käsk:

kubectl juurutamine taaskäivitage juurutamine/html-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äsk podi kustutamiseks:

kubectl delete pod html-deployment-86788988dd-npzhl

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 –replicas= 'käsk:

kubectl skaala juurutamine html-deployment --replicas=1

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 ” käsk. See käsk taastab eelmise juurutusversiooni ja taaskäivitab podi vastavalt juurutamise konfiguratsioonidele:

kubectl juurutamine undo juurutamine html-juurutamine

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.