Кубернетес има аналоган начин управљања једнократним процесима Послови и периодични процеси попут црон послови.
Започећемо са типичним примером шта су послови и демонстрираћемо стандардни пример из званичних докумената. Из овог примера биће лако разумети шта то значи успешно покретати посао у Кубернетесовом контексту.
Да бисте наставили даље, препоручио бих вам да користите игралиште Катацонда за Кубернетес које ће обезбедити Кубернетес кластер без потребе да га ручно конфигуришете или ризикујете производни кластер за експерименте.
Кубернетес Јобс
Послови су апстракције Кубернетеса вишег нивоа, сличне РеплицаСетс и Деплоиментс. Али за разлику од махуна којима управљају размештања и РеплицаСетс, махуне које извршавају посао довршавају свој посао и излазе.
Када се одређени број махуна заврши, посао се успешно завршава. Који су критеријуми који дефинишу успешан завршетак махуне, нешто ћемо дефинисати у Јоб'с ИАМЛ датотеци. Тада ће Јоб контролор осигурати да је одређени број махуна успешно завршен и да је посао завршен.
Направимо посао који у својим евиденцијама штампа цифре пи до 2000 места које ћемо испитати. Направите датотеку и позовите је мој посао.иамл и сачувајте у њему следећи садржај;
апиВерсион: батцх / в1врста: Посао
метаподаци:
име: пи
спецификација:
предложак:
спецификација:
контејнери:
- име: пи
слика: перл
наредба: ["перл", "-Мбигнум = бпи", "-вле", "принт бпи (2000)"]]
рестартПолици: Никад
бацкоффЛимит: 4
Направите посао помоћу ове датотеке:
$ кубецтл цреате -ф ./ посао.иамлПриметићете да је за посао потребно неколико секунди до неколико минута и након што заврши. Када покушате да наведете све махуне помоћу:
$ кубецтл добити махунеИМЕ СПРЕМНИ СТАТУС ВРАЋА ДОБУ
пи-вг6зп 0/1 Завршено 0 50с
Видећете да је статус пи повезане махуне Завршено не ради или није укинут.Такође можете копирати назив махуне како бисмо могли да потврдимо да је пи заиста израчунато на 2000 цифара. Конкретно име махуне може се разликовати у вашем случају.
$ кубецтл евидентира пи-вг6зпЗанимљиво је да махуна није Прекинута још увек је веома активан, само што у њему нема покренутих апликација. Слично као кад само укључите рачунар и не користите га. Да је махуна укинута, пре свега не бисмо могли да извучемо трупце са ње.
Да бисте очистили посао и све креиране махуне, покрените наредбу:
$ кубецтл делете -ф ми-јобс.иамлМожете сазнати више о спецификацијама посла и како да напишете своје спецификације у службеној документацији.
Црон Јобс
Црон Јобс је сличан услужном програму Црон у Унику који се периодично извршава према распореду који ми желимо. То није суперстабилна ствар у Кубернетесу, у време када је ово написано, па бисте можда желели да будете опрезни при коришћењу. Да цитирам званичне документе:
„Црон посао ствара објекат посла О томе једном за време извршења свог распореда. Кажемо „отприлике“, јер постоје одређене околности у којима се могу створити два радна места или никакво радно место. Покушавамо да их учинимо ретким, али их не спречавамо у потпуности. Према томе, послови би требали бити идемпотентан”
Термин идемпотент значи да би Црон Јоб, било да се обавља једном или два пута или било који број времена, имао исти ефекат на систем. Проверавање ажурирања, надгледање таквих операција може се сматрати неимпотентним. Али модификовање података или уписивање у базу података нису међу њима.
Напишемо црон посао који би написао „Здраво, свете!”У својим дневницима, заједно са временском ознаком када је та порука написана. Направите датотеку под називом ми-цроњоб.иамл и на њега напиши следећи садржај:
апиВерсион: батцх / в1бета1врста: ЦронЈоб
метаподаци:
име: ми-цроњоб
спецификација:
распоред: "* / 1 * * * *"
јобТемплате:
спецификација:
предложак:
спецификација:
контејнери:
- име: здраво
слика: заузет
аргс:
- / бин / сх
- -ц
- датум; ецхо Хелло из кластера Кубернетес
рестартПолици: ОнФаилуре
Распоредни део посла је најважнији. Следи стандардну конвенцију Црон, постоји листа бројева раздвојена размацима. Пет бројева представљају,
- Минута (0-59)
- Сат (0-23)
- Дан у месецу (1-31)
- Месец (1-12)
- Дан у недељи (0-6) почев од недеље
Коришћење звездице (*) за поље значи било коју расположиву вредност тог поља (попут џокер знака) и први унос у нашем распореду „* / 1 * * * *“ означавао је да се посао мора изводити сваког минута без обзира на сат, дан или месец година. Коришћење * / 5 ће штампати поруку сваких 5 минута.
Можете сазнати више о спецификацији цроњоб иамл у званичним документима. Погледајмо све махуне које се кандидују за посао који смо назвали ми-цроњоб.
$ кубецтл добити махунеИМЕ СПРЕМНИ СТАТУС ВРАЋА ДОБУ
ми-цроњоб-1534457100-хфхзф 0/1 Завршено 0 2м
ми-цроњоб-1534457160-гк85л 0/1 Завршено 0 1м
ми-цроњоб-1534457220-бј22к 0/1 Завршено 0 57с
Укопавањем у дневнике сваке махуне открила би се једна порука са временском ознаком, јер су сви створени у различито време, сви ће имати различите временске ознаке.
$ кубецтл евиденција ми-цроњоб-1534457100-хфхзфДа бисте избрисали цроњоб, једноставно покрените:
$ кубецтл делете -ф ми-цроњоб.иамлОвим ћете такође избрисати све махуне створене у одговарајућем процесу.
Референце
Овде можете сазнати више о Кубернетес Јобс, а за Црон послове можете посетити овај одељак њихове добро структуриране документације.