Чување података у Кубернетес кластеру

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

Чување података у Кубернетес кластеру

Метод 1: Наведите ПВ у манифесту под

Типичан манифест који описује под у Кубернетес кластеру:

Чување података у Кубернетес кластеру

Делови манифеста који описују који је волумен повезан и где су истакнути бојом.

У секцији волумеМоунтс означите тачке монтирања (моунтПатх) - у који директоријум унутар контејнера ће бити монтиран трајни волумен, као и назив волумена.

У секцији x наводи све волумене који се користе у под. Наведите име сваког волумена, као и тип (у нашем случају: авсЕластицБлоцкСторе) и параметре везе. Који параметри су наведени у манифесту зависи од типа волумена.

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

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

Постоји неколико проблема приликом употребе:

  1. сви волумени се морају креирати ручно; Кубернетес не може ништа да креира за нас;
  2. параметри приступа за сваки волумен су јединствени и морају бити наведени у манифестима свих подова који користе волумен;
  3. да бисте променили систем складиштења (на пример, прешли са АВС-а на Гоогле Цлоуд), потребно је да промените подешавања и тип монтираних волумена у свим манифестима.

Све ово је веома незгодно, тако да се у стварности овај метод користи за повезивање само неких посебних типова волумена: цонфигМап, сецрет, емптиДир, хостПатх:

  • цонфигМап и сецрет су сервисни волумени који вам омогућавају да креирате волумен са датотекама из Кубернетес манифеста у контејнеру.

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

  • хостПатх - омогућава вам да монтирате било који директоријум на локални диск сервера на коме се апликација покреће унутар контејнера са апликацијом, укључујући /етц/кубернетес. Ово није безбедна функција, тако да безбедносне политике обично забрањују коришћење волумена овог типа. У супротном, апликација нападача ће моћи да монтира ХТЦ Кубернетес директоријум унутар свог контејнера и украде све сертификате кластера. Обично је хостПатх волумене дозвољено да користе само системске апликације које се покрећу у простору имена кубе-систем.

Системи за складиштење са којима Кубернетес ради из кутије дате су у документацији.

Метод 2. Повезивање на СЦ/ПВЦ/ПВ огњишта

Алтернативни метод повезивања је концепт класе Стораге, ПерсистентВолумеЦлаим, ПерсистентВолуме.

Класа складиштења чува параметре везе са системом за складиштење података.

ПерсистентВолумеЦлаим описује захтеве за оно што је потребно апликацији.
ПерсистентВолуме чува параметре приступа и статус јачине звука.

Суштина идеје: у под манифесту они означавају волумен типа ПерсистентВолумеЦлаим и указују на име овог ентитета у параметру цлаимНаме.

Чување података у Кубернетес кластеру

Манифест ПерсистентВолумеЦлаим описује захтеве за обим података које апликација захтева. Укључујући:

  • величина диска;
  • метода приступа: РеадВритеОнце или РеадВритеМани;
  • линк до Стораге цласс - у ком систему за складиштење података желимо да креирамо волумен.

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

Манифести ПерсистентВолуме указују на класу складишта и параметре приступа за одређени волумен (ИД волумена, путања, итд.).

Приликом креирања ПВЦ-а, Кубернетес гледа коју величину запремине и која класа складиштења је потребна и бира бесплатни ПерсистентВолуме.

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

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

Сви параметри за повезивање са системом за складиштење података налазе се у класи Стораге, за шта су одговорни администратори кластера. Све што треба да урадите када прелазите са АВС-а на Гоогле Цлоуд је да промените име класе Стораге у ПВЦ у манифестима апликације. Персистанце Волуме за складиштење података ће се аутоматски креирати у кластеру помоћу програма Провисионер.

Метод 3: Интерфејс за складиштење контејнера

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

Да би решили проблем, програмери из Цлоуд Фоундри, Кубернетес, Месос и Доцкер креирали су интерфејс за складиштење контејнера (ЦСИ) - једноставан обједињени интерфејс који описује интеракцију система за управљање контејнерима и специјалног драјвера (ЦСИ Дривер) који ради са одређеним систем складиштења. Сав код за интеракцију са системима за складиштење је премештен из Кубернетес језгра у посебан систем.

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

Типично, ЦСИ драјвер се састоји од две компоненте: додатка за чворове и додатка за контролер.

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

За сада, стари драјвери остају у језгру Кубернетеса, али се више не препоручују за коришћење и свима се саветује да инсталирају ЦСИ драјвер посебно за систем са којим ће радити.

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

Узмимо пример да погледамо предности које можете добити преласком на повезивање Цепх система за складиштење помоћу ЦСИ драјвера.

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

  1. Креирање динамичког диска. Обично се РБД дискови користе само у РВО режиму, али ЦСИ за Цепх им омогућава да се користе у РВКС режиму. Неколико подова на различитим чворовима може монтирати исти РДБ диск на своје чворове и радити са њима паралелно. Искрено речено, није све тако светло - овај диск се може повезати само као блок уређај, што значи да ћете морати да прилагодите апликацију да ради са њим у режиму вишеструког приступа.
  2. Креирање снимака. У Кубернетес кластеру можете да креирате манифест са захтевом да направите снимак. ЦСИ додатак ће га видети и направити снимак са диска. На основу тога можете направити резервну копију или копију ПерсистентВолуме-а.
  3. Повећање величине диска о складиштењу и ПерсистентВолуме у Кубернетес кластеру.
  4. Квоте. ЦепхФС драјвери уграђени у Кубернетес не подржавају квоте, али свежи ЦСИ додаци са најновијим Цепх Наутилусом могу омогућити квоте на ЦепхФС партицијама.
  5. метрике. ЦСИ додатак може да обезбеди Прометеју различите метрике о томе који су волумени повезани, које комуникације се одвијају итд.
  6. Свестан топологије. Омогућава вам да наведете у манифестима како је кластер географски распоређен и избегавате повезивање система за складиштење који се налази у Амстердаму са подовима који раде у Лондону.

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

Аутор чланка: Сергеј Бондарев, архитекта у Соутхбридгеу, сертификовани Кубернетес администратор, један од програмера кубеспраја.

Мало Пост Сцриптум не за рекламу, већ за корист...

ПС Сергеј Бондарев води два интензивна курса: ажурирани Кубернетес Басе 28-30 септембра и напредни Кубернетес Мега 14–16. октобар.

Чување података у Кубернетес кластеру

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

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