Kuidas määrata erinevaid Kubernetese taaskäivituspoliitikaid

Kuidas Maarata Erinevaid Kubernetese Taaskaivituspoliitikaid



Selles artiklis räägime konkreetselt erinevatest Kubernetese taaskäivituspoliitikatest. Esmalt arutleme erinevate poliitikate üle, mida kasutatakse Kubernetese taaskäivitamisel. Nende poliitikate abil saate peatada teatud töökoormuse juurutamise klastris. Kuigi klastrisse rangete standardite kehtestamine toimub tavaliselt vastavuse tagamiseks, peaksid klastri administraatorid järgima ka mitmeid soovitatud parimaid tavasid.

Mis on Kubernetese taaskäivitamise poliitika?

Iga Kubernetese pod järgib kindlat elutsüklit. See algab 'ootel' etapis ja kui üks või mitu peamist konteinerit käivitati edukalt, läheb see üle 'töötavasse' faasi. Olenevalt sellest, kas kaustas olevad konteinerid õnnestuvad või ebaõnnestuvad, liigub protsess edasi faasi „Õnnestus” või „Ebaõnnestus”.







Poliitika taaskäivitamiseks rakendatud konteinerite tasemel saab kasutada kolme valikut.



Alati

Iga kord, kui konteiner lõpetab, loob Kubernetes uue, kuna pod peab olema kogu aeg aktiivne.



On Failure

Kui konteiner väljub muu tagastuskoodiga kui 0, taaskäivitub see ainult üks kord. Taaskäivitamine ei ole vajalik konteinerite puhul, mis tagastavad 0 (edukus).





Mitte kunagi

Konteinerit ei õnnestunud taaskäivitada.

Nüüd arutame järgmises jaotises, kuidas saate podi taaskäivitada.



Kuidas Podi Kubernetesis taaskäivitada?

Kubernetese podi taaskäivitamiseks andke käsud kubectli tööriista abil. See loob ühenduse KubeAPI serveriga. Uurime saadaolevaid valikuid:

Konteineri taaskäivitamine kambris

Kaun võib mahutada mitu konteinerit. Teisest küljest loote sellega ühenduse loomisel sisuliselt ühenduse pesas oleva peamise konteineriga. Kui olete määratlenud rohkem kui ühe juhtumi, saate ühenduse luua iga määratletud konteineriga.

Allpool näete mitme konteineri podi spetsifikatsiooni näidet.


See kirjeldab jagatud köidet ja kahte konteinerit. HTML-faili teenindab NGINX-i konteiner ja iga sekund lisab Ubuntu konteiner HTML-failile kuupäevatempli.

Kuna te ei määranud, millise konteineriga ühenduse luua, valib see automaatselt esimese (NGINX), kui proovite selle podiga ühendust luua. Ekraanipilt on lisatud allpool:


Nüüd saate proovida PID 1 protsessi praegu aktiivses konteineris lõpetada. Käivitage järgmised käsud administraatorina, et seda teha:


Võite kasutada ka allpool kirjeldatud kubectli tööriista:


Vastavalt podi spetsifikatsioonile proovivad K8s nüüd hävitatud konteinerit taaskäivitada. Selleks kasutatakse käsku 'kirjeldus' järgmiselt:


Siin on ülaltoodud käsu tulemus:


Praegune olek 'läheb', samas kui eelmine olek oli 'lõpetatud'. See tähendab, et konteiner käivitati uuesti vastavalt sellele. Kuid mitte kõik konteinerid ei pääse juurmandaatidele juurde. Seetõttu ei pruugi see meetod eriti kasulik olla.

Podi taaskäivitamine skaleerimise teel

Podi koopiate arvu skaleerimine 0-ni ja seejärel 1-ni skaleerimine on lihtsaim viis selle taaskäivitamiseks. Peate selle asemel konstrueerima juurutuse, kuna skaala käsku ei saa kasutada kaustades. Siin on lihtne viis selle saavutamiseks:


Skaala 0-ni ja seejärel 1-ni. Seda tehes lõpetatakse pod ja paigutatakse seejärel klastrisse ümber:


Koopiad on seatud väärtusele 1, nagu näete sellel pildil.


Juurutamise üksikasjade vaatamiseks oleme nüüd kasutanud 'kubectl get juurutusi'. Järgmine on nii käsu kui ka tulemuse loend:

Podi taaskäivitamine selle kustutamise ja ümberpaigutamise teel

Kasutades käsku 'kubectl delete', saate kausta kustutada ja seejärel uuesti kasutusele võtta. See lähenemine on aga pigem häiriv, seetõttu ei ole see soovitatav.

Podi taaskäivitamine levitamise abil

Podi taaskäivitamiseks ülalkirjeldatud viisil peate kas hävitama olemasoleva podi ja looma seejärel uue või muutma koopiate loendust alla ja seejärel üles. Kubernetese versiooniga 1.15 saate juurutuse jooksvalt taaskäivitada. See on podni taaskäivitamiseks soovitatav protseduur. Alustamiseks sisestage lihtsalt järgmine käsk:


Kui hoiate nüüd silma peal juurutamise olekul mõnes teises terminalis, märkate sündmuste voogu järgmiselt.


Kui see on korras, vähendab see juurutuse eelmist koopiat ja loob uue koopia. Tulemus on sama, välja arvatud selle lähenemisviisi puhul, mille aluseks oleva orkestreerimisega tegeles Kubernetes.

Kuidas saab Kubernetes Podsid erinevatel viisidel taaskäivitada?

Alustame kõigepealt dokkimiskonteineriga. Järgmise käsuga saab Dockeri konteinerid taaskäivitada:

> Docker taaskäivitage konteineri_id

Kuid Kubernetesis pole kaunade taaskäivitamiseks võrreldavat käsku, eriti kui pole määratud YAML-faili. Alternatiivina saate Kubernetese kaustad taaskäivitada kubectli käskude abil. Loetletud on järgmised käsud:

Kubectl Set Env käsk

Üks meetod on kasutada kubectli skaala käsku. See muudab podi koopiate arvu, mida tuleb taaskäivitada. Allpool on näidiskäsk selle kohta, kuidas seada koopiad kaustas kaheks:

> kubectli mastaabis juurutamine esmakordne juurutamine -- koopiad = 2

Käivitamise taaskäivitamise käsk

Siin demonstreerime, kuidas kasutada Kubernetese kaustade taaskäivitamiseks käsu taaskäivitamist:

> kubectl juurutamine taaskäivitage juurutamine esimene juurutamine -n demo-nimeruum

Kontrolleril kästakse käsuga hävitada iga pod eraldi. Seejärel skaleerib see ReplicaSeti abil uusi kaunasid. See protsess jätkub seni, kuni iga uus pod on uuem kui iga praegune pod, kui kontroller jätkub.

Podi kustutamise käsk

Selles jaotises käsitletakse, kuidas kasutada Kubernetese kaustade taaskäivitamiseks käsu eemaldamist. Võite märgata, et kasutasime sellel pildil olevast pod API objektist vabanemiseks järgmist käsku:

. > kubectl kustutada pod first-pod -n demo_nimeruum

Oodatavale on vastuolus pod-objekti kustutamine, kuna Kubernetes API on deklaratiivne. Et säilitada kooskõla eeldatavaga, luuakse kaun uuesti.

Eelmise käsu abil saab korraga taaskäivitada ühe podi. Mitme kausta taaskäivitamiseks vaadake lisatud käsku:

> kubectl kustutada replikaset pods-multiple-n demo_namespace

Eespool nimetatud käsk taaskäivitab iga kausta, kustutades kogu kaustade ReplicaSeti ja luues selle siis nullist.

Järeldus

See postitus andis teavet erinevate Kubernetese taaskäivituspoliitikate kohta. Illustreerisime iga etappi näidisnäidete abil. Proovige ka neid käske ja vaadake, millist väljundit need genereerivad.