Како поставити различите политике поновног покретања Кубернетеса

Kako Postaviti Razlicite Politike Ponovnog Pokretana Kubernetesa



У овом чланку ћемо посебно говорити о различитим политикама поновног покретања Кубернетеса. Хајде да прво разговарамо о различитим смерницама које се користе када се Кубернетес мора поново покренути. Можете да користите ове смернице да спречите примену одређеног радног оптерећења у кластеру. Иако се наметање строгих стандарда у кластеру обично ради како би се осигурала усклађеност, администратори кластера такође треба да следе неколико најбољих пракси које су предложене.

Шта је политика поновног покретања Кубернетеса?

Сваки Кубернетес под се придржава одређеног животног циклуса. Почиње у фази „на чекању“ и, ако се један или више примарних контејнера успешно покрене, прелази у фазу „покреће“. У зависности од тога да ли контејнери у капсули успеју или не успеју, процес затим прелази на фазу „успела“ или „неуспела“.







Да бисте поново покренули смернице на нивоу примењених контејнера, могу се користити три опције:



Увек

Сваки пут када се контејнер заврши, Кубернетес производи нови јер под мора бити активан у сваком тренутку.



ОнФаилуре

Ако контејнер изађе са повратним кодом другачијим од 0, поново се покреће само једном. Поновно покретање није неопходно за контејнере који враћају 0 (успех).





Никада

Контејнер није успео да се поново покрене.

Сада, у следећем одељку, разговараћемо о томе како можете поново покренути под.



Како поново покренути под у Кубернетесу?

Да бисте поново покренули Кубернетес под, издајте команде помоћу кубецтл алатке. Повезаће се са КубеАПИ сервером. Хајде да истражимо доступне опције:

Поновно покретање контејнера унутар под

Махуна може да садржи неколико контејнера. С друге стране, ви се у суштини повезујете са примарним контејнером у оквиру модула када се повежете на њега. Можете се повезати са сваким контејнером који сте дефинисали у случају ако сте дефинисали више од једног.

У наставку можете видети пример спецификације махуна са више контејнера:


Ово описује дељени волумен и два контејнера. ХТМЛ датотеку ће сервирати НГИНКС контејнер и сваке секунде Убунту контејнер ће додати печат датума у ​​ХТМЛ датотеку.

Пошто нисте навели на који контејнер да се повежете, он ће аутоматски изабрати први (НГИНКС) када покушате да се повежете на тај под. Снимак екрана је приложен испод:


Сада можете покушати да прекинете ПИД 1 процес унутар тренутно активног контејнера. Покрените следеће команде као роот да бисте ово постигли:


Такође можете користити алатку кубецтл описану у наставку:


Према спецификацији под, К8с ће сада покушати да поново покрене уништени контејнер. За то се користи команда „опиши“ на следећи начин:


Ево резултата горње команде:


Садашње стање „иде“, док је претходно стање „укинуто“. То значи да је контејнер поново покренут, према овоме. Међутим, не могу сви контејнери приступити роот акредитивима. Због тога ова метода можда неће бити од велике користи.

Поновно покретање под-а скалирањем

Скалирање броја реплика модула на 0, а затим његово скалирање на 1 је најједноставнији начин да се поново покрене. Уместо тога, морате да направите Деплоимент јер се команда сцале не може користити на подовима. Ево једноставног начина да то постигнете:


Скалирајте на 0, а затим на 1 након тога. На тај начин, под ће бити прекинут, а затим поново распоређен у кластер:


Реплике су постављене на 1 као што можете видети на овој слици.


Да бисмо видели детаље о примени, сада смо користили „кубецтл гет деплоиментс“. Следи листа и команде и резултата:

Поновно покретање под-а брисањем и поновним постављањем

Користећи команду „кубецтл делете“, можете избрисати под, а затим га поново распоредити. Међутим, овај приступ је прилично ометајући, па се не препоручује.

Поновно покретање под-а помоћу Роллоут-а

Да бисте поново покренули под на горе описани начин, морате или уништити постојећи модул, а затим креирати нови, или смањити одбројавање реплике, а затим повећати. Са Кубернетес верзијом 1.15, можете поново покренути примену на стални начин. Ово је предложена процедура за поновно покретање под. Једноставно унесите следећу команду да бисте започели:


Сада, ако држите на оку статус имплементације на другом терминалу, приметићете ток догађаја на следећи начин:


Ако је здрав, смањиће претходну реплику Деплоимент-а и покренути нову реплику модула. Исход је исти, осим што је у овом приступу основном оркестрацијом управљао Кубернетес.

Како се Кубернетес подови могу поново покренути на различите начине?

Хајде да прво почнемо са доцкер контејнером. Са следећом командом, Доцкер контејнери се могу поново покренути:

> доцкер рестарт цонтаинер_ид

Али у Кубернетес-у не постоји упоредива команда за поновно покретање подова, посебно ако нема специфициране ИАМЛ датотеке. Као алтернативу, можете поново покренути Кубернетес подове користећи кубецтл команде. Наведене су следеће команде:

Команда Кубецтл Сет Енв

Један метод је коришћење команде кубецтл сцале. Ово ће изменити број реплика модула који треба поново да се покрене. Испод је пример команде о томе како да поставите реплике у модулу да буду две:

> примена кубецтл скале прва примена -- реплике = 2

Наредба за поновно покретање увођења

Овде ћемо показати како да користите команду за поновно покретање за поновно покретање Кубернетес подова:

> кубецтл роллоут рестарт имплементација прва имплементација демо-намеспаце

Контролору је речено да истреби сваку капсулу појединачно. Затим повећава нове подове користећи РеплицаСет. Све док сваки нови модул није новији од сваког тренутног модула када се контролер настави, овај процес се наставља.

Команда Делете Под

Овај одељак ће говорити о томе како да користите команду за уклањање за поновно покретање Кубернетес подова. Можете приметити да смо користили следећу команду да се решимо под АПИ објекта на овој слици:

. > кубецтл делете под фирст-под демо_намеспаце

Очекиваном је контрадикторно брисањем под објекта јер је Кубернетес АПИ декларативни. Да би се одржала конзистентност са очекиваном, махуна је стога поново креирана.

Један под се може поново покренути помоћу претходне команде. Погледајте приложену команду да поново покренете неколико подова:

> кубецтл делете реплицасет подс-мултипле-н демо_намеспаце

Горе поменута команда поново покреће сваки под тако што брише цео РеплицаСет модула, а затим га креира од нуле.

Закључак

Овај пост је пружио информације о различитим смерницама за поновно покретање Кубернетеса. Сваку фазу смо илустровали уз помоћ примера примера. Такође, испробајте ове команде и погледајте који излаз генеришу.