Доцкер рој за постизање високе доступности



Овај блог о Доцкер Сварм-у објашњава моћ постављања кластера Доцкер мотора путем конфигурисаног Доцкер Сварма за постизање високе доступности.

Која је најважнија карактеристика било које веб апликације? Има их много, али за мене висока доступност је најважнија. То је оно што нам Доцкер Сварм помаже да постигнемо! Помаже у томе што је апликација високо доступна.

У мом претходни блог , Објаснио сам како функционише Доцкер Цомпосе. Овај блог о Доцкер Сварму је наставак претходног и овде су објашњене предности коришћења Доцкер Сварма за контејнерирање било које апликације са више контејнера.





У случају овог блога, то је само Ангулар апликација која ће бити Доцкер Сварм’ед.
Белешка : Метода садржавања апликације МЕАН Стацк је иста.

Па, шта је Доцкер Сварм?

Доцкер Сварм је техника за стварање и одржавање кластера Доцкер мотори . Доцкерови мотори могу бити хостовани на различитим чворовима, а ови чворови који се налазе на удаљеним локацијама чине а Кластер када је повезан у режиму роја.



Зашто користити Доцкер Сварм?

Из већ поменутих разлога! Постизање висока доступност без застоја је приоритет сваког тамошњег добављача услуга. Да ли ће висока доступност импресионирати ваше клијенте? Па, неће бити импресионирани ако се суоче са застојима. То нема смисла.

Остале предности Доцкер Сварма

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

Децентрализовани приступ је још једна корист. Шта то значи? То значи да се свим чворовима може лако приступити од менаџера. Менаџер ће такође редовно позивати на чворове и водити евиденцију о његовом здравственом / статусу како би се могао носити са застојима. Међутим, чворови не могу приступити услугама које се изводе у другим чворовима / менаџерима нити их пратити.



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

Чак и након што је апликација постављена, можемо је издати ваљање-ажурирања и побрините се да се постигне ЦИ (континуирана интеграција). Покретне исправке се издају једном чвору за другим, чиме се осигурава да нема застоја и да се оптерећење распоређује између осталих чворова у кластеру.

Па, шта даље? Да урадим очигледно. Започните са Доцкер Свармом ако сте већ радили на Доцкеру или ако ваша организација жели да садржи поуздану веб услугу.

Белешка : Доцкер мотори су инсталирани на независним хостовима / серверима или у више ВМ-ова у хосту.

Први кораци са режимом ројења

Доцкер Сварм покреће менаџер, или да се тако изразим, инстанца која покреће Сварм кластер постаје менаџер. Наредба за покретање кластера је:

$ доцкер рој инит --адвертисе-аддр ип-адреса

Овде се застава ‘–адвертисе-аддр’ користи за оглашавање другим чворовима који желе да се придруже кластеру. Заједно са заставом треба навести и ИП адресу менаџера. Испод је пример снимка заслона.

доцкер инит наредба - доцкер рој - едурека

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

Како је тачно? Копирајте целокупан токен генерисан на управитељском доцкер механизму, налепите га на доцкер енгине чвора и покрените. Истакнути део снимка заслона изнад је жетон. Када се токен изврши на радном чвору, изгледаће као доленаведени снимак екрана.

Било који чвор који се придружи кластеру може се касније унапредити у менаџера. У случају да желите да се мотор доцкера придружи као менаџер, извршите доњу команду на крају менаџера:

$ доцкер сварм манагер-жетон за придруживање

А касније, ако желите да се токен чвора придружи кластеру, покрените доњу команду:

$ доцкер рој придружен-жетон чвор

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

$ доцкер чвор лс

Снимак екрана је испод:

Стварање Доцкер слике за угаоне апликације

Ако је све у реду, онда можемо покренути нашу услугу Сварм, под условом да је изграђена Доцкер Имаге. Доцкер слика се може направити из Доцкерфиле-а. Доцкерфиле који се користи за изградњу апликација је испод:

ФРОМ чвор: 6 РУН мкдир -п / уср / срц / апп ВОРКДИР / уср / срц / апп ЦОПИ пацкаге.јсон / уср / срц / апп РУН нпм цацхе цлеан РУН нпм инсталл ЦОПИ. / уср / срц / апп ЕКСПОСЕ 4200 ЦМД ['нпм', 'старт']

Доцкерфиле се користи за извршавање скупа наредби заједно за изградњу прилагођене Доцкер слике из основне слике. Као што видите, основна слика коју сам користио је „Чвор: 6“. НодеЈС је слика И из Доцкер Хуб-а која је означена верзијом 6.

Тада креирам нови Доцкер директоријум унутар контејнера и претварам га у радни директоријум унутар мог контејнера.

Копирам датотеку ‘пацкаге.јсон’ са свог локалног рачунара у радни директоријум контејнера. Тада наводим команде „РУН нпм цацхе цлеан“ и „РУН нпм инсталл“. нпм инсталл наредба преузима верзију зависности која је наведена у датотеци пацкаге.јсон.

Затим копирам све пројектне кодове са локалне машине у контејнер, излажем број порта 4200 за приступ апликацији Ангулар у прегледачу и коначно, наводим наредбу нпм старт која контејнерише апликацију.

Сада, да бисте креирали Доцкер слику на основу ове Доцкерфиле датотеке, покрените доњу наредбу:

$ доцкер гради -т угаона-слика.

Белешка: Доцкер слике морају бити уграђене у све чворове кластера. Без тога се контејнери не могу окретати у другим Доцкер моторима.

Покретање услуге Доцкер Сварм

С обзиром да је наша Доцкер слика изграђена, можемо одвојити контејнер од ове слике. Али, учинићемо нешто боље: од тога створити Доцкер Сварм услугу. Наредба за стварање услуге роја је:

$ доцкер услуга цреате --наме 'Ангулар-Апп-Цонтаинер' -п 4200: 4200 ангулар-имаге

Овде се застава ‘наме’ користи за давање имена мојој услузи, а ознака ‘п’ користи се за излагање порта контејнера луци домаћина. У датотеци пацкаге.јсон одредио сам порт контејнера на којем би требало да буде смештена апликација Ангулар. А 4200 у овој наредби помаже мапирању порта 4200 контејнера на порт домаћина 4200. „ангулар-имаге“ је име слике коју сам раније изградио.

Запамтити : Када креирамо услугу, она може бити хостована на било ком доцк машину у кластеру. Управник роја одлучиће где ће бити домаћин. Али, без обзира у ком чвору је хостован, апликацији се може приступити на лоцалхост: 4200 са било ког чвора повезаног у кластер.

Како је то могуће? Зато што Сварм интерно излаже бројеве порта како би им био доступан сваки други чвор у кластеру. То значи, лука бр. 4200 на било ком чвору / менаџеру у кластеру приказао би апликацију Ангулар.

Шта сад? Да ли је контејнер активан?

Можете проверити да ли је услуга у контејнеру покретањем наредбе листе доцкер услуга. Али, можда ће требати минут да се контејнер постави. Испод је наредба:

$ доцкер услуга лс

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

Овде „РЕПЛИЦАС = 1/1“ указује да у кластеру постоји једна „услуга“ тог контејнера. А „МОДЕ = реплицирано“ указује да се услуга реплицира на свим чворовима у кластеру.

питхон деф __инит __ (само)

Сада, да бисмо идентификовали на којем се чвору / менаџеру хостује апликација, можемо покренути наредбу доцкер сервице пс наредбу праћену именом контејнера. Команда је:

$ доцкер услуга пс Ангулар-Апп-Цонтаинер

Снимак екрана за исти налази се испод.

Овде се помињу детаљи о чвору на којем је апликација смештена, заједно са наредбом која се користи за покретање услуге.

Команда ‘доцкер пс’ баца светло на детаље о активном контејнеру. Команда је:

$ доцкер пс

Погледајте доњи снимак екрана за референцу.

Али, ова наредба ће радити само на менаџеру кластера и чвору на којем се услуга заправо хостује.

Да бисте проверили колико чворова је покренуто, покрените команду листе чворова. Команда је:

$ доцкер чвор лс

Да бисте проверили контејнере који се изводе на одређеном хосту, покрените команду ноде пс. Команда је:

$ доцкер чвор пс

Ако се сећате, раније сам споменуо да услуга тренутно ради у реплицираном МОДЕ-у. То значи да се услуга реплицира на све чворове у кластерима. Да ли мислите да постоји алтернатива?

Апсолутно! Постоји нешто што се зове Глобални НАЧИН. У овом режиму постоји услуга овог контејнера која се изводи код сваког појединог менаџера / менаџера у кластеру. Не заборавите да зауставите тренутну услугу / контејнер пре него што окренете други сет контејнера.

Команда за то је:

$ доцкер сервис рм Ангулар-Апп-Цонтаинер

Наредба за окретање контејнера у глобалном режиму је:

$ доцкер услуга цреате --наме 'Ангулар-Апп-Цонтаинер' -п 4200: 4200 --моде глобал ангулар-имаге

Ово би створило 3 услуге на 3 чвора у нашем кластеру. Можете га проверити покретањем наредбе доцкер сервисне листе. Снимак екрана овога је испод.

Када се изврши наредба доцкер услуге пс, видећете нешто попут овог:

Као што видите, пише да се начин реплицира и да је реплика овог контејнера 3. Сада долази најбољи део овог блога.

Да бисмо имали две реплике услуга које се изводе између три контејнера, можемо користити заставицу реплика. Погледајте наредбу испод:

$ доцкер услуга цреате --наме 'Ангулар-Апп-Цонтаинер' -п 4200: 4200 --реплицас = 2 ангулар-имаге

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

Из чвора Воркер можете да потврдите да је контејнер покренут извршавањем наредбе ‘доцкер пс’.

Доцкер Сварм за високу доступност

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

$ доцкер стоп Ангулар-Апп-Цонтаинер

Покрените горњу команду на чвору: Воркер-1 где се изводи контејнер.Из менаџера покрените команду:

$ доцкер услуга пс Ангулар-Апп-Цонтаинер

Сад ћете приметити да се контејнер сада изводи у чвору: Воркер-2 и Манагер. Међутим, искључен је са чвора: Воркер-1. Исто је видљиво на доњем снимку екрана.

Овако Доцкер велика доступност се постиже. ЈаУпркос томе што је контејнер неактиван у Воркер-1, апликација се може приказати на порту броја 4200 на том радничком чвору. То је зато што је интерно повезан са другим чворовима кластера и способан је да прикаже апликацију у прегледачу.

Велика доступност након повећања услуга

Било у реплицираном или глобалном режиму, можемо повећати број услуга које се покрећу у нашем кластеру. Чак и након скалирања, моћи ћемо да задржимо високу доступност. Сјајно зар не?

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

Али, вратимо се на нашу ствар, видећемо како је лако повећати број услуга у нашем кластеру. Под претпоставком да имамо 2 или 3 реплике у нашем кластеру, повећајмо услуге на 5 само покретањем једне команде. Команда је:

$ доцкер скала услуге Ангулар-Апп-Цонтаинер = 5

Снимак екрана овога је испод.

Покретањем наредбе листе доцкер услуга можете приметити да је број реплика сада 5. А покретањем наредбе доцкер услуге пс заједно са именом услуге можете видети како је 5 услуга уравнотежено оптерећење и распоређено на 3 чвора. . Команде су:

$ доцкер услуга лс $ доцкер услуга пс Ангулар-Апп-Цонтаинер

И коначно, у Доцкер Сварм подешавању ако не желите да ваш менаџер учествује у поступку и заузима га само за управљање процесима, тада можемо управника испразнити из хостовања било које апликације. Јер овако то функционише у свету, зар не? Менаџери су само за управљање осталим радницима. У сваком случају, наредба за то је:

Ажурирање чвора $ доцкер - доступност одвода Манагер-1

Можете да проверите да ли менаџер сада учествује у кластеру покретањем наредбе листе доцкер чворова и наредбе доцкер услуге пс:

$ доцкер ноде лс $ доцкер сервице пс Ангулар-Апп-Цонтаинер

Сада можете приметити да су услуге контејнера подељене између Воркер чворова, а Манагер чвор је заправо испражњен из контејнеризације било које услуге. Снимак екрана је испод.

Дакле, то доводи до краја овог блога на Доцкер Сварму. Надам се да је овај блог објаснио колико је важно применити Сварм режим за постизање високе доступности. Пратите још блогова у овој Доцкер серији водича.

Можете и да погледате видео испод да бисте разумели како функционише Доцкер Сварм. Сви горе наведени појмови су обрађени у видеу.

Доцкер Сварм за високу доступност | Доцкер Водич | Водич за ДевОпс

Сад кад сте сазнали за Доцкер, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Овај курс за сертификацију Едурека Доцкер помаже ученицима да стекну стручност у примени Доцкера и његовом савладавању.

Имате питање за нас? Молимо вас да то споменете у одељку за коментаре и јавићемо вам се.