Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Кубернетес најбоље праксе. Прављење малих контејнера

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

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

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

У већини Кубернетес дистрибуција, кластер излази из кутије са простором имена који се зове „подразумевано“. У ствари, постоје три простора имена којима се Кубернетес бави: дефаулт, кубе-систем и кубе-публиц. Тренутно, Кубе-публиц се не користи често.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

Због тога би требало да креирате више именских простора и да их користите да сегментирате своје услуге у јединице којима се може управљати. Именски простор се може креирати једном командом. Ако желите да креирате простор имена под називом тест, онда користите команду $ кубецтл цреате намеспаце тест или једноставно креирајте ИАМЛ датотеку и користите је као било који други Кубернетес ресурс.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Можете видети све просторе имена користећи команду $ кубецтл гет намеспаце.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Када се то заврши, видећете три уграђена простора имена и нови простор имена под називом "тест". Хајде да погледамо једноставну ИАМЛ датотеку за креирање под. Приметићете да се не помиње простор имена.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Други начин је да наведете простор имена у ИАМЛ декларацији.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Ако наведете именски простор у ИАМЛ-у, ресурс ће увек бити креиран у том именском простору. Ако покушате да користите други именски простор док користите ознаку простора имена, команда неће успети. Сада, ако покушате да пронађете своју капсулу, нећете то моћи.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

То значи да вам није потребна ознака простора имена да бисте видели под у тестном именском простору.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

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

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Срећом, ово је лако заобићи коришћењем проширеног облика ДНС адресе. Услуге у Кубернетес-у излажу своје крајње тачке користећи заједнички ДНС шаблон. Изгледа отприлике овако:

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Обично вам је потребно само име услуге и ДНС ће аутоматски одредити пуну адресу.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Међутим, ако треба да приступите услузи у другом именском простору, једноставно користите име услуге плус име простора имена:

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

На пример, ако желите да се повежете на услужну базу података у тестном именском простору, можете користити базу података адреса базе података.тест

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Ако желите да се повежете на сервисну базу података у прод именском простору, користите датабасе.прод.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

Често ми се поставља питање колико именских простора треба да креирам и за коју сврху? Шта је управљани део података?

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

Замислите да сте део малог тима који ради на развоју 5-10 микросервиса и лако можете да окупите све програмере у једној просторији. У овој ситуацији, има смисла покренути све прод сервисе у подразумеваном именском простору. Наравно, за већу флексибилност, можете користити 2 простора имена - одвојено за прод и дев. И највероватније, тестирате свој развој на локалном рачунару користећи нешто као што је Миникубе.

Рецимо да се ствари мењају и да сада имате брзо растући тим који ради на више од 10 микросервиса истовремено. Долази време када је потребно користити неколико кластера или именских простора, одвојено за прод и дев. Можете да поделите тим у неколико подтимова тако да сваки од њих има своје микросервисе и сваки од ових тимова може да изабере сопствени именски простор како би олакшао процес управљања развојем и издавањем софтвера.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

Како сваки члан тима стиче увид у то како систем у целини функционише, постаје све теже координисати сваку промену са свим осталим програмерима. Покушај да се на вашој локалној машини направи пун стацк постаје све тежи сваким даном.

У великим компанијама, програмери углавном не знају ко тачно на чему ради. Тимови комуницирају користећи уговоре о услугама или користе технологију сервисне мреже, која додаје слој апстракције преко мреже, као што је Истио алат за конфигурисање. Покушај локалног покретања читавог стека једноставно није могућ. Топло препоручујем коришћење платформе за континуирану испоруку (ЦД) као што је Спиннакер на Кубернетес-у. Дакле, долази до тачке у којој је свакој команди дефинитивно потребан сопствени простор имена. Сваки тим чак може да изабере више простора имена за дев окружење и прод окружење.

Коначно, постоје велике предузетничке компаније у којима једна група програмера и не зна за постојање других група. Таква компанија може генерално да ангажује програмере треће стране који са њом комуницирају преко добро документованих АПИ-ја. Свака таква група садржи неколико тимова и неколико микросервиса. У овом случају морате користити све алате о којима сам раније говорио.

Кубернетес најбоље праксе. Организација Кубернетеса са именским простором

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

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

Кубернетес најбоље праксе. Провера Кубернетес Ливенесс-а помоћу тестова спремности и живости

Неки огласи 🙂

Хвала вам што сте остали са нама. Да ли вам се свиђају наши чланци? Желите да видите још занимљивијег садржаја? Подржите нас тако што ћете наручити или препоручити пријатељима, ВПС у облаку за програмере од 4.99 УСД, јединствени аналог сервера почетног нивоа, који смо ми измислили за вас: Цела истина о ВПС (КВМ) Е5-2697 в3 (6 језгара) 10ГБ ДДР4 480ГБ ССД 1Гбпс од 19 долара или како делити сервер? (доступно са РАИД1 и РАИД10, до 24 језгра и до 40 ГБ ДДР4).

Делл Р730кд 2 пута јефтинији у Екуиник Тиер ИВ дата центру у Амстердаму? Само овде 2 к Интел ТетраДеца-Цоре Ксеон 2к Е5-2697в3 2.6ГХз 14Ц 64ГБ ДДР4 4к960ГБ ССД 1Гбпс 100 ТВ од 199 УСД у Холандији! Делл Р420 - 2к Е5-2430 2.2Гхз 6Ц 128ГБ ДДР3 2к960ГБ ССД 1Гбпс 100ТБ - од 99 долара! Читали о Како изградити инфраструктурну корпорацију. класе уз коришћење Делл Р730кд Е5-2650 в4 сервера у вредности од 9000 евра за пени?

Извор: ввв.хабр.цом

Додај коментар