Kuidas Kubernetes Pod uuesti käivitada

Vihje: käsku „kubectl restart” pole

Kubernetes (k8s) on avatud lähtekoodiga konteineriorkestussüsteem konteineriseeritud rakenduste juurutamise, mastabeerimise ja haldamise automatiseerimiseks.

See artikkel tutvustab, kuidas taaskäivitada oma kaustad kubectl'iga (käsuribaliides Kubernetesi klastrite käskude käitamiseks).

Kas teil on probleeme oma Podiga?

Oletame, et ühel teie k8s-l töötavast kaustast on probleem.

See töötas varem hästi, kuid mingil põhjusel puruneb nüüd. Teil pole aimugi, mis selle põhjustab, nii et kontrollite kaunade tervist

kubectl saada pods -n teenust
NIMI VALMIS STAATUSE TAASTAB VANUS
api-7996469c47-d7zl2 1/1 töötab 0,77d
api-7996469c47-tdr2n 1/1 töötab 0,77d
chat-5796d5bc7c-2jdr5 0/1 Viga 0 5d
chat-5796d5bc7c-xsl6p 0/1 Viga 0 5d

Näete, et ühel teie kaustadest on probleem, kuna selle olek on Viga. Võib ilmneda mõni muu olek CrashLoopBackOff, mis on k8s, kes üritab taskuid automaatselt taaskäivitada (vaikimisi).

kubectl kirjeldab netivestlusteenust

Proovite siluda, käivitades käsu kirjeldada, kuid te ei leia väljundist midagi kasulikku. Teete järgmise loogilise asja ja kontrollite kaabli saba logisid ahtriga ja ei tundu, et leiate kasulikke veateateid. Võib-olla lükkas keegi teie meeskonnast halva kohustuse, nii et kontrollite sisselogimisloke, et näha, kas repole pole hiljutisi tõukeid tehtud. Seda pole olemas.

Te kratsite pead ja mõtled, milles asi. Teie kasutajad ootavad kannatamatult, et rakendus taas tööle hakkaks, nii et te ei soovi aega raisata.

Kubernetes Pod'i taaskäivitamine

Restartime lihtsalt kausta uuesti!

Tavaliselt on teil tänapäevaste dev-meeskondade jaoks CI / CD-süsteem, kus saate oma nuppude ümberpaigutamiseks lihtsalt nuppu vajutada.

Selle probleemiks on aga see, et tasku taaskäivitamine võib võtta kaua aega, kuna see peab läbima kogu pideva integreerimise (nt ühiktestid, koodi kompileerimine, ehituse doki pilt jne) ja pideva juurutamise (nt spin up) keskkond, kassasüsteem, allalaaditavad paketid jne). Miks peate selle protsessi uuesti läbi käima, kui teate, et see möödub?

[CI / CD] probleem on selles, et tasku taaskäivitamine võib võtta kaua aega, kuna see peab kogu protsessi uuesti läbi käima.

Kiirem lahendus oleks kasutada käsureaktsioonis sisseehitatud kubectl ja seada koopiad nulli.

kubectli skaala juurutamisvestlus --replicas = 0 -n teenus
kubectl saada pods -n teenust
NIMI VALMIS STAATUSE TAASTAB VANUS
api-7996469c47-d7zl2 1/1 töötab 0,77d
api-7996469c47-tdr2n 1/1 töötab 0,77d
chat-5796d5bc7c-2jdr5 0/1 Lõpetamine 0 5d
chat-5796d5bc7c-xsl6p 0/1 Lõpetamine 0 5d

Käsklusskaala määrab repliikide arvu, mis peaksid vastaval poodil töötama. Kui seate selle nulli, lülitab see selle protsessi välja.

kubectl saada pods -n teenust
NIMI VALMIS STAATUSE TAASTAB VANUS
api-7996469c47-d7zl2 1/1 töötab 0,77d
api-7996469c47-tdr2n 1/1 töötab 0,77d

Kausta uuesti käivitamiseks seadke koopiad suuremaks kui 0.

kubectli skaala juurutamisvestlus --replicas = 2 -n teenus
kubectl saada pods -n teenust
NIMI VALMIS STAATUSE TAASTAB VANUS
api-7996469c47-d7zl2 1/1 töötab 0,77d
api-7996469c47-tdr2n 1/1 töötab 0,77d
chat-5796d5bc7c-2jdr5 1/1 Jooksev 0 3s
chat-5796d5bc7c-xsl6p 1/1 Jooksmine 0 3s

See selleks!

Järeldus

Kubernetes sobib suurepäraselt konteineriorkestriks. Nagu kõigi süsteemide puhul, ilmnevad probleemid. Kaustade taaskäivitamine kubectli skaala abil --replicas = 0 on kiire ja lihtne viis oma rakenduse uuesti käivitamiseks. Sellegipoolest ei lahenda kausta taaskäivitamine põhiprobleemi, mis põhjustas kausta purunemise, nii et veenduge, et leiate põhiprobleemi ja lahendage see!

P.S. Me otsime töötajaid! Panya Studios otsib alati andekaid ja kirglikke inimesi meie kasvava meeskonnaga liitumiseks Bangkokis Tais. Tutvuge meie praeguste avamistega aadressil https://panyastudios.com

Kui teil on selleks mõni muu viis või teil on ülaltoodud näidetega probleeme, andke mulle sellest kommentaarides teada.

Ärge unustage, et jälgiksite mind siin meediumil, et leida huvitavamaid tarkvaratehnilisi artikleid.

Täname, et lugesite!

Ressursid

  • https://kubernetes.io/docs/reference/kubectl/cheatsheet/
  • https://sysdig.com/blog/debug-kubernetes-crashloopbackoffoff/
  • https://github.com/wercker/stern

Liituge meie kogukonnaga Slack ja lugege meie iganädalasi Fauni teemasid ⬇

Kui sellest postitusest oli abi, klõpsake mõne korra all alloleval plaksutusnupul, et näidata oma tuge autorile! ⬇