Кубернетес

Примена апликација на Кубернетес кластерима

Примена апликација на Кубернетес кластерима

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

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


Традиционално постављање апликација

Ако погледате традиционални приступ примени веб апликације, скалабилност је нешто што бисте морали узети у обзир пре него што започнете. Ако вам је потребна база података одвојена од вашег веб интерфејса, боље је да то радите одмах сада, него да то радите касније. Да ли планирате да покренете више веб апликација? Боље претходно конфигуришите Реверсе Проки сервер.

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


Махуне

Као први корак, завртимо махуну. Да бисмо то урадили, требала би нам ИАМЛ датотека која дефинише различите атрибуте махуне.

апиВерсион: в1
врста: Под
метаподаци:
име: нгинк
спецификација:
контејнери:
- име: нгинк
слика: нгинк: 1.7.9
луке:
- цонтаинерПорт: 80

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

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

Сада да започнемо трчање махуна:

$ кубецтл цреате -ф под.иамл

Не можете приступити маски изван кластера. Још увек није изложен, а постоји само као усамљена махуна. Да бисте осигурали да је заиста постављен, покрените:

$ кубецтл добити махуне

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

$ кубецтл делете под нгинк

Распоређивање

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

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

Следећи је врло уобичајен начин дефинисања примене:

апиВерсион: аппс / в1бета1
врста: размештање
метаподаци:
име: нгинк-деплоимент
спецификација:
реплике: 2
предложак:
метаподаци:
ознаке:
апликација: нгинк
спецификација:
контејнери:
- име: нгинк
слика: нгинк: 1.7.9
луке:
- цонтаинерПорт: 80

Приметићете, између осталог, пар кључ / вредност који је:

ознаке:
апликација:
нгинк

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


Услуге

Свака махуна има своју унутрашњу ИП адресу, а комуникациони слој попут Фланнел помаже махунама да комуницирају једни с другима. Ова ИП адреса се, међутим, прилично мења и, на крају крајева, цела поента постојања многих махуна је да им се омогући једнократна употреба. Махуне се често убијају и васкрсавају.

Питање које се сада поставља је следеће - Како ће фронт-енд подс разговарати са бацк-енд подс када су ствари тако динамичне у кластеру?

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

На пример, ако имамо услугу базе података са 10 махуна базе података, неке махуне базе података могу се појавити или убити, али услуга би осигурала да остатак кластера добије 'услугу' која је база података. Услуге се такође могу користити за излагање фронт-енд-а остатку Интернета.

Ево типичне дефиниције услуге.

апиВерсион: в1
врста: Услуга
метаподаци:
име: вордпресс-мискл
ознаке:
апликација: вордпресс
спецификација:
луке:
- лука: 3306
селектор:
апликација: вордпресс
ниво: мискл
цлустерИП: Нема

Подс ознаке ВордПресс са наведеним мискл слојем су оне које ће ова услуга преузети и изложити подсетницима веб сервера за типични ВордПресс постављен на Кубернетес-у.


Реч опреза

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

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

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

Како променити показивач миша и величину, боју и шему курсора на Виндовс 10
Показивач миша и курсор у оперативном систему Виндовс 10 су врло важни аспекти оперативног система. То се може рећи и за друге оперативне системе, так...
Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...
Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...