У чым розніца паміж "разгортваннем" і "службай" у Кубернэце?


адказ 1:

Абодва абстракцыі ў Кубернэце.

Разгортванне:

Разгортванне - гэта аб'ект кластара, які ўяўляе сабой групу запушчаных струкоў, лагічную групу, да якой звязаны некаторыя адміністрацыйныя функцыі. Разгортванне мае семантыку статусу кластара.

Напрыклад, уявіце, што для шэрагу службаў вашага кластара неабходна падтрымліваць метрыкі маніторынгу. Каманда Ops распрацавала малюнак Докера пад назвай Metrics-Analyzer 1.0.0, які атрымлівае канфігурацыю, дзе знаходзяцца ўсе агенты, якія трэба збіраць, як часта кампанент трэба збіраць і якая канчатковая кропка забяспечвае паказчыкі на аднаго агента.

Калі каманда толькі запісвае файл pod-файла ma.yml, каб зрабіць яго даступным для Kubernetes, адзіны стручок, верагодна, будзе працаваць у любым вузле, які Kubernetes можа запланаваць. Калі працэс не працуе, альбо аналізатар метрыкі неабходна абнавіць, альбо Kubernetes неабходна пераразмеркаваць рэсурсы (альбо мноства іншых падзей, якія я апусціў), струк павінен быць выдалены, што прывядзе да збору метрыкі часу. Гэта падзея можа прывесці да адмовы ў паслузе. Кіраўнікі могуць патэлефанаваць у каманду і сказаць: нам патрэбныя метрыкі, проста выправіце іх.

Пры разгортванні вы можаце стварыць групу метрычных аналізатараў, звязаных з меткамі, каб кіраваць метрычным аналізатарам, не турбуючыся аб кожнай працы рэплікі.

Разгорткі па сутнасці кажуць Kubernetes пра тое, як меткі выкарыстоўваюцца для супастаўлення кантэйнераў, колькі рэплік для запуску і як іх абнавіць. Абнаўленні - гэта важная тэма, якая разглядалася лепш, чым я на гэтай пасадзе. Стратэгіі разгортвання Kubernetes - рашэнні для кантэйнераў

Спецыфікацыя струкоў таксама можа быць паказана ў спецыфікацыі разгортвання, каб пазбегнуць неабходнасці апрацоўкі розных файлаў рэсурсаў для аднаго і таго ж прызначэння. У рэшце рэшт, каманда проста павінна разгарнуць аналізатар метрык, так?

Паслугі:

Паслугі, з іншага боку, дазваляюць групуваць струкі для асноўнай мэты сеткавай сувязі.

Дамен паслуг заключаецца ў прадастаўленні набору правілаў для даступнасці набору струкоў. Некалькі прыкладаў правілаў, якія вы ўсталёўваеце пры наладзе паслуг:

  1. Якія струкі адпавядаюць службовай групе. Які тып сеткавага адраса выкарыстоўвае паслуга? Порт вузла. Усе вузлы кластара маюць порт, прызначаны для перасылкі на струкі, якія адпавядаюць службе. IP кластара. Існуе спецыяльны IP кластара для доступу да струкоў, якія адпавядаюць паслузе. Загрузіце балансавальнік. Як выявіць струкі за межамі сеткавага кластара з дапамогай знешняй сеткі LB. Знешняя назва. Так вы адкрываеце знешні крыніцу URI з кваліфікаваным імем у кластары (напрыклад, db-service у 32dfs-324qa.domain.com) .Protocols і парты. Куды трафік павінен быць перанакіраваны пры выкананні запытаў на імя службы. Фактычная назва сеткі абслугоўвання, напрыклад, Metrics Analyzer.

Паслугі дазваляюць іншым стручкам мець зносіны з кампанентамі кластара, не ведаючы фактычнага IP-адраса кластара.

Як бачыце, разгорткі маюць семантыку разгортвання. Яны важныя, калі вам трэба павялічыць або паменшыць рэплікі, калі вам трэба разгарнуць новую версію. Яны паказваюць, як працуе абнаўленне струкоў.

Паслугі ў асноўным сеткавая канструкцыя. Яны мадэлююць, як доступ да струкоў праз кластарную сетку і з навакольнага свету ў кластарную сетку.


адказ 2:

Я проста хацеў дадаць іншыя адказы і паспрабаваць падключыць разгортванне і паслугі да таго, да чаго людзі прызвычаіліся, перш чым сістэмы кіравання кантэйнерамі ўступілі ў гульню.

Выкарыстанне:

На канцэптуальным узроўні разгорткі вызначаюць, як размяшчаецца ваша прыкладанне. Гэта вызначае, колькі асобнікаў прыкладання запускаецца, калі прыкладанне разгорнута ў Kubernetes. Ён таксама вызначае іншыя параметры і параметры, якія выкарыстоўваюцца для падтрымкі запушчанага прыкладання.

Пры разгортванні ў Kubernetes ствараюцца струкі. Стручок складаецца з аднаго або некалькіх кантэйнераў (найбольш папулярны Docker). У многіх выпадках ёсць толькі адзін кантэйнер на стручок. Звычайна гэта ваша дадатак у выглядзе запушчанага малюнка Докер. Каб звязаць кантэйнер з традыцыйным разгортваннем сервера, ён працуе, як віртуальная машына (VM) або фізічны сервер.

Калі ваша разгортванне паказвае, што больш за адно з вашых прыкладанняў павінна запускацца (высокая даступнасць або HA), будзе створана яшчэ некалькі струкоў, пакуль не будуць выкананы патрабаванні да маштабу прыкладанняў.

Пасля запуску па меншай меры аднаго асобніка вашага прыкладання вы павінны мець магчымасць падключыцца да запушчаных прыкладанняў. Менавіта тут увайшлі ў жыццё «паслугі».

Паслугі:

Вызначэнні паслуг у Кубернэце на самай справе проста балансіроўка нагрузкі ў Кубернэце. Калі зроблены запыт на заяўку, ён адпраўляецца ў службу прыкладання, якая ведае, якія прыкладанні (стручкі) даступныя і як трафік накіроўваецца да гэтага прыкладання. Як правіла, службы адпраўляюць трафік дадзеных у кругласутачным працэсе. Гэта азначае, што запыты распаўсюджваюцца ва ўсіх запушчаных дадатках (струках).

На мой досвед, і Docker, і Kubernetes скарацілі час распрацоўкі праграмных каманд і палепшылі кіраванне прыкладаннямі, чым у мінулым. Калі вы правільна пішаце праграмнае забеспячэнне, яно можа добра змяняцца з Kubernetes.

Калі вы хочаце, каб Docker-кантэйнеры працавалі з Kubernetes у дзеянні, вы можаце праверыць іх на http://BroadIQ.com. Таксама прачытайце артыкул "Простае кіраўніцтва па запуску Rocket.Chat" (https://medium.com/@jlutz_72580 / ...), якое правядзе вас па кроках па разгортванні кантэйнернага прыкладання Docker на Kubernetes.


адказ 3:

Гэта не так складана:

  • Kubernetes Deployment - гэта абстракцыя, якая апісвае ваш кластар Kubernetes пра тое, як ваша праграма павінна быць разгорнута. Служба Kubernetes - гэта абстракцыя, якая апісвае ваш кластар Kubernetes, як зрабіць ваша прыкладанне даступным для знешняга свету (сетак, да якіх падключаецца ваш кластар)