DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Docker Swarm, Kubernetes, da Mesos sune shahararrun tsarin kade-kade. A cikin jawabinsa, Arun Gupta ya kwatanta abubuwan da suka shafi Docker, Swarm, da Kubernetes:

  • Ci gaban gida.
  • Ayyukan turawa.
  • Aikace-aikacen kwantena da yawa.
  • Gano sabis.
  • Ƙimar sabis.
  • Ayyuka-sau ɗaya.
  • Haɗin kai tare da Maven.
  • "Rolling" update.
  • Ƙirƙirar gungun bayanai na Couchbase.

A sakamakon haka, za ku sami cikakkiyar fahimtar abin da kowane kayan aikin ƙungiyar kaɗe zai bayar kuma ku koyi yadda ake amfani da waɗannan dandamali yadda ya kamata.

Arun Gupta shine babban masanin fasaha na samfuran buɗaɗɗen tushe a Sabis na Yanar Gizo na Amazon, wanda ke haɓaka al'ummomin Rana, Oracle, Red Hat da Couchbase sama da shekaru 10. Yana da gogewa mai yawa da ke aiki a cikin jagorancin ƙungiyoyin haɗin gwiwar haɓakawa da aiwatar da dabarun tallan tallace-tallace da shirye-shirye. Ya jagoranci ƙungiyoyin injiniyoyin Sun, yana ɗaya daga cikin waɗanda suka kafa ƙungiyar Java EE kuma mahaliccin reshen Amurka na Devoxx4Kids. Arun Gupta shine marubucin fiye da 2 dubu posts a cikin shafukan IT kuma ya ba da tattaunawa a cikin kasashe fiye da 40.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 1
DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 2

Layin 55 ya ƙunshi COUCHBASE_URI mai nuni ga wannan sabis ɗin bayanai, wanda kuma an ƙirƙira shi ta amfani da fayil ɗin daidaitawar Kubernetes. Idan ka kalli layi na 2, zaka iya ganin iri: Sabis shine sabis ɗin da nake ƙirƙira mai suna couchbase-service, kuma an jera suna iri ɗaya akan layi na 4. A ƙasa akwai wasu tashar jiragen ruwa.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Layukan maɓalli sune 6 da 7. A cikin sabis na ce, "Hey, waɗannan su ne alamun da nake nema!", Kuma waɗannan alamun ba kome ba ne fiye da sunayen biyu masu canzawa, kuma layi na 7 yana nuna alamar couchbase-rs-pod na. aikace-aikace. Wadannan su ne tashoshin jiragen ruwa waɗanda ke ba da dama ga waɗannan alamomi iri ɗaya.

A layi na 19 Na ƙirƙiri sabon nau'in ReplicaSet, layi na 31 ya ƙunshi sunan hoton, da layin 24-27 suna nuni zuwa metadata mai alaƙa da kwafsa. Wannan shi ne ainihin abin da sabis ɗin ke nema da abin da ya kamata a haɗa shi da shi. A ƙarshen fayil ɗin akwai wata hanyar haɗi tsakanin layi na 55-56 da 4, yana cewa: "amfani da wannan sabis ɗin!"

Don haka, Ina fara sabis na idan akwai saitin kwafi, kuma tunda kowane saitin kwafi yana da tashar jiragen ruwa tare da alamar da ta dace, an haɗa shi cikin sabis ɗin. Daga ra'ayi na mai haɓakawa, kawai kuna kiran sabis ɗin, wanda ke amfani da saitin kwafin da kuke buƙata.

Sakamakon haka, Ina da kwafin WildFly wanda ke sadarwa tare da bayanan bayanan ta hanyar Sabis na Couchbase. Zan iya amfani da gaban gaba tare da faifan WildFly da yawa, wanda kuma yana sadarwa tare da couchbase backend ta sabis na couchbase.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Daga baya za mu dubi yadda sabis ɗin da ke wajen gungu ke sadarwa ta hanyar adireshin IP ɗin sa tare da abubuwan da ke cikin gungu kuma suna da adireshin IP na ciki.

Don haka, kwantena marasa gida suna da kyau, amma yaya yake da kyau a yi amfani da kwantena na jihohi? Bari mu kalli saitunan tsarin don ma'auni, ko dagewa. A cikin Docker, akwai hanyoyi daban-daban guda 4 zuwa shimfidar ajiyar bayanai waɗanda yakamata ku kula da su. Na farko shine kwantena-kwankwane mai fa'ida, wanda ke nufin cewa lokacin amfani da couchbase, MySQL ko MyDB kwantena na satateful, duk suna farawa da tsohuwar Sandbox. Wato duk abin da aka adana a cikin ma’adanar bayanai ana adana shi a cikin kwantena da kanta. Idan akwati ya ɓace, bayanan sun ɓace tare da shi.

Na biyu shi ne Explicit Per-Container, lokacin da ka ƙirƙiri takamaiman ajiya tare da ƙarar docker ƙirƙira umarni da adana bayanai a ciki. Hanyar Per-Host na uku tana da alaƙa da taswirar ajiya, lokacin da aka kwafi duk abin da aka adana a cikin akwati lokaci guda akan mai masaukin. Idan akwati ya gaza, bayanan za su kasance a kan mai watsa shiri. Ƙarshen ita ce amfani da ma'aikata masu yawa na Multi-Host, wanda ke ba da shawara a matakin samar da mafita daban-daban. Bari mu ce kwantenan ku tare da aikace-aikacenku suna gudana akan mai watsa shiri, amma kuna son adana bayanan ku a wani wuri akan Intanet, kuma don wannan kuna amfani da taswirar atomatik don tsarin rarrabawa.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Kowace waɗannan hanyoyin suna amfani da takamaiman wurin ajiya. Tsare-tsare da Bayyana bayanan Ajiye-kwangila akan mai masaukin baki a /var/lib/docker/volumes. Lokacin amfani da hanyar Per-Host, ana ɗora ma'ajiyar a cikin akwati, kuma kwandon da kansa yana ɗora a kan mai masaukin. Don multihosts, ana iya amfani da mafita kamar Ceph, ClusterFS, NFS, da sauransu.

Idan kwantena mai dawwama ya gaza, littafin ajiya ya zama ba zai iya shiga ba a cikin shari'o'i biyu na farko, amma a lokuta biyun ƙarshe ana kiyaye samun dama. Koyaya, a cikin yanayin farko, zaku iya samun dama ga ma'ajiyar ta hanyar mai masaukin baki Docker da ke aiki akan injin kama-da-wane. A cikin yanayi na biyu, bayanan ma ba za a rasa ba, saboda kun ƙirƙiri Ma'ajiyar Bayani.

Idan mai watsa shiri ya gaza, ba a samun littafin adireshi a cikin shari'o'i uku na farko; a yanayi na ƙarshe, haɗin kai da ma'ajiyar ba ta katsewa. A ƙarshe, an cire aikin da aka raba gaba ɗaya don ajiya a cikin akwati na farko kuma yana yiwuwa a cikin sauran. A cikin yanayi na biyu, zaku iya raba ma'ajiyar gwargwadon ko bayananku yana goyan bayan ma'ajiyar da aka rarraba ko a'a. A cikin yanayin Per-Host, rarraba bayanai yana yiwuwa ne kawai akan mai watsa shiri da aka bayar, kuma don multihost ana ba da shi ta hanyar haɓaka tari.

Ya kamata a yi la'akari da wannan lokacin ƙirƙirar kwantena na jihohi. Wani kayan aikin Docker mai amfani shine plugin ɗin ƙara, wanda ke aiki akan ka'idar "batura suna nan, amma dole ne a maye gurbinsu." Lokacin da ka fara akwati na Docker, yana cewa, "Hey, da zarar ka fara akwati tare da bayanan bayanai, za ka iya adana bayananka a cikin wannan akwati!" Wannan sigar tsoho ce, amma kuna iya canza shi. Wannan plugin ɗin yana ba ku damar amfani da injin hanyar sadarwa ko wani abu makamancin haka maimakon rumbun adana bayanai. Ya haɗa da tsoho direba don ma'ajiyar tushen masauki kuma yana ba da damar haɗar kwantena tare da tsarin ajiya na waje kamar Amazon EBS, Adana Azure da GCE masu jurewa.

Zane na gaba yana nuna gine-gine na Docker Volume plugin.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Launi mai shuɗi yana wakiltar abokin ciniki na Docker da ke da alaƙa da mai masaukin baki Docker, wanda ke da injin ajiyar gida wanda ke ba ku kwantena don adana bayanai. Green yana nuna Plugin Client da Plugin Daemon, waɗanda suma an haɗa su da mai watsa shiri. Suna ba da damar adana bayanai a cikin ma'ajiyar hanyar sadarwa na nau'in Ma'ajiyar Bayarwa da kuke buƙata.

Ana iya amfani da plugin ɗin ƙarar Docker tare da ajiyar Portworx. Tsarin PX-Dev shine ainihin akwati da kuke gudanarwa wanda ke haɗawa da mai masaukin ku na Docker kuma yana ba ku damar adana bayanai cikin sauƙi akan Amazon EBS.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Abokin ciniki na Portworx yana ba ku damar saka idanu kan matsayin kwantena daban-daban waɗanda ke da alaƙa da mai masaukin ku. Idan kun ziyarci shafina, zaku iya karanta yadda ake cin gajiyar Portworx tare da Docker.

Manufar ajiya a cikin Kubernetes yayi kama da Docker kuma ana wakilta ta da kundayen adireshi waɗanda ke da damar zuwa akwati a cikin kwasfa. Sun kasance masu zaman kansu daga rayuwar kowane akwati. Mafi yawan nau'ikan ajiya da ake samu sune hostPath, nfs, awsElasticBlockStore, da gsePersistentDisk. Bari mu kalli yadda waɗannan shagunan ke aiki a Kubernetes. Yawanci, tsarin haɗa su ya ƙunshi matakai 3.

Na farko shi ne cewa wani a kan hanyar sadarwa, yawanci mai gudanarwa, yana ba ku ma'auni na dindindin. Akwai daidaitaccen fayil ɗin sanyi na PersistentVolume don wannan. Bayan haka, mai haɓaka aikace-aikacen ya rubuta fayil ɗin daidaitawa mai suna PersistentVolumeClaim, ko buƙatun ajiya na PVC, wanda ya ce: “Ina da 50GB na ajiya da aka rarraba, amma don sauran mutane su yi amfani da ƙarfinsa, ina gaya wa wannan PVC cewa a halin yanzu bukatar kawai 10 GB". A karshe, mataki na uku shi ne, an dora bukatar ku a matsayin ma’adana, sannan kuma manhajar da ke dauke da pod, ko replica set, ko makamancin haka, ta fara amfani da ita. Yana da mahimmanci a tuna cewa wannan tsari ya ƙunshi matakai 3 da aka ambata kuma yana da ƙima.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Zane-zane na gaba yana nuna kwantenan dagewar Kubernetes na gine-ginen AWS.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

A cikin rectangle mai launin ruwan kasa wanda ke wakiltar gungu na Kubernetes, akwai kullin maigida ɗaya da kuɗaɗen ma'aikata guda biyu, waɗanda aka nuna cikin rawaya. Ɗayan kuɗaɗen ma'aikaci ya ƙunshi kwas ɗin lemu, ajiya, mai sarrafa kwafi, da koren Docker Couchbase koren. A cikin gungu, sama da nodes, rectangular shunayya yana nuna damar Sabis daga waje. Ana ba da shawarar wannan gine-gine don adana bayanai akan na'urar kanta. Idan ya cancanta, Zan iya adana bayanana a cikin EBS a wajen gungu, kamar yadda aka nuna a cikin faifai na gaba. Wannan sigar al'ada ce don ƙima, amma akwai yanayin kuɗi da za a yi la'akari yayin amfani da shi - adana bayanai a wani wuri a kan hanyar sadarwa na iya zama tsada fiye da mai watsa shiri. Lokacin zabar maganin kwantena, wannan yana ɗaya daga cikin gardama masu nauyi.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Kamar dai tare da Docker, zaku iya amfani da kwantena Kubernetes na dindindin tare da Portworx.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Wannan shine abin da a halin yanzu Kubernetes 1.6 kalmomi ake kira "StatefulSet" - hanyar aiki tare da aikace-aikace na Jiha waɗanda ke aiwatar da abubuwan da suka faru game da dakatar da Pod da aiwatar da Rushewar Alheri. A cikin yanayinmu, irin waɗannan aikace-aikacen su ne bayanan bayanai. A cikin shafina zaku iya karanta yadda ake ƙirƙirar StatefulSet a Kubernetes ta amfani da Portworx.
Bari muyi magana game da yanayin ci gaba. Kamar yadda na ce, Docker yana da nau'ikan 2 - CE da EE, a farkon yanayin muna magana ne game da ingantaccen sigar Ɗabi'ar Al'umma, wanda ake sabuntawa sau ɗaya kowane watanni 3, sabanin sigar EE da ake sabunta kowane wata. Kuna iya saukar da Docker don Mac, Linux ko Windows. Da zarar an shigar, Docker zai sabunta ta atomatik kuma yana da sauƙin farawa.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Don Kubernetes, na fi son sigar Minikube - hanya ce mai kyau don farawa da dandamali ta hanyar ƙirƙirar gungu akan kulli ɗaya. Don ƙirƙirar gungu na nodes da yawa, zaɓin nau'ikan ya fi faɗi: waɗannan su ne kops, kube-aws (CoreOS+AWS), kube-up (tsohuwar). Idan kuna neman amfani da Kubernetes na tushen AWS, Ina ba da shawarar shiga AWS SIG, wanda ke haɗuwa akan layi kowace Juma'a kuma yana buga abubuwa masu ban sha'awa iri-iri akan aiki tare da AWS Kubernetes.

Bari mu kalli yadda ake yin Sabuntawar Rolling akan waɗannan dandamali. Idan akwai gungu na nodes da yawa, to yana amfani da takamaiman sigar hoton, misali, WildFly:1. Sabunta birgima yana nufin cewa ana maye gurbin sigar hoton bi da bi tare da sabo akan kowane kumburi, ɗaya bayan ɗayan.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Don yin wannan, Ina amfani da sabuntawar sabis na docker (sunan sabis), wanda na ƙayyade sabon sigar WildFly: hoton 2 da sabunta hanyar sabuntawa-daidaitacce 2. Lamba 2 yana nufin cewa tsarin zai sabunta hotunan aikace-aikacen 2. a lokaci guda, to, jinkirin sabuntawa na 10 na biyu na 10s, bayan haka za a sabunta hotuna 2 na gaba akan ƙarin nodes 2, da sauransu. Ana samar muku da wannan tsarin sabuntawa mai sauƙi a matsayin wani ɓangare na Docker.

A cikin Kubernetes, sabuntawar mirgina yana aiki kamar wannan. Mai sarrafa kwafi rc yana ƙirƙirar saitin kwafi iri ɗaya, kuma kowane kwafsa a cikin wannan webapp-rc ana samar da tambarin da ke cikin da dai sauransu. Lokacin da nake buƙatar kwafsa, Ina amfani da Sabis na Aikace-aikacen don samun damar ma'ajiyar etcd, wanda ke ba ni kwaf ɗin ta amfani da ƙayyadadden alamar.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

A wannan yanayin, muna da kwasfan fayiloli 3 a cikin Mai sarrafa Maimaitawa da ke gudanar da aikace-aikacen nau'in WildFly 1. Lokacin da ake ɗaukakawa a bango, an ƙirƙiri wani mai sarrafa kwafi tare da suna iri ɗaya da fihirisa a ƙarshen - - xxxxx, inda x ne lambobin bazuwar, kuma tare da lakabi iri ɗaya. Yanzu Sabis ɗin Aikace-aikacen yana da kwasfa guda uku tare da tsohuwar sigar aikace-aikacen da kwasfa uku tare da sabon sigar a cikin sabon mai sarrafa Kwafi. Bayan wannan, ana share tsoffin kwas ɗin, ana canza mai sarrafa kwafi tare da sabbin kwas ɗin kuma an saka su cikin aiki.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Mu ci gaba zuwa sa ido. Docker yana da ingantattun umarnin sa ido. Misali, ƙirar layin umarni na docker kwantena yana ba ku damar nuna bayanai game da yanayin kwantena zuwa na'ura wasan bidiyo kowane daƙiƙa - amfanin sarrafawa, amfani da diski, nauyin hanyar sadarwa. Docker Remote API kayan aiki yana ba da bayanai game da yadda abokin ciniki ke sadarwa da sabar. Yana amfani da umarni masu sauƙi, amma yana dogara ne akan Docker REST API. A wannan yanayin, kalmomin REST, Flash, Remote suna nufin abu ɗaya ne. Lokacin da kuke sadarwa tare da mai watsa shiri, API REST ne. Docker Remote API yana ba ku damar samun ƙarin bayani game da kwantena masu gudana. Shafin nawa yana zayyana cikakkun bayanai na amfani da wannan saka idanu tare da Windows Server.

Kula da abubuwan da ke faruwa na tsarin docker lokacin gudanar da gungun masu watsa shirye-shirye da yawa yana ba da damar samun bayanai game da haɗarin rundunar ko hadarin kwantena akan takamaiman runduna, ayyukan ƙira, da makamantansu. Fara tare da Docker 1.20, ya haɗa da Prometheus, wanda ke shigar da ƙarshen ƙarshen aikace-aikacen da ke akwai. Wannan yana ba ku damar karɓar awo ta HTTP kuma ku nuna su a kan dashboards.

Wani fasalin sa ido shine cAdvisor (gajeren mai ba da shawara ga akwati). Yana yin nazari da ba da amfani da albarkatu da bayanan aiki daga kwantena masu gudana, yana ba da ma'aunin Prometheus kai tsaye daga cikin akwatin. Abu na musamman game da wannan kayan aikin shine cewa yana ba da bayanai kawai don sakan 60 na ƙarshe. Don haka, kuna buƙatar samun damar tattara waɗannan bayanan ku sanya su cikin ma'ajin bayanai ta yadda za ku iya sa ido kan tsari na dogon lokaci. Hakanan za'a iya amfani da shi don nuna ma'aunin dashboard a hoto ta amfani da Grafana ko Kibana. Shafin nawa yana da cikakken bayanin yadda ake amfani da cAdvisor don saka idanu kan kwantena ta amfani da dashboard Kibana.

Zalika na gaba yana nuna yadda fitarwar ƙarshen ƙarshen Prometheus yayi kama da awo da ke akwai don nunawa.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

A ƙasan hagu kuna ganin awo don buƙatun HTTP, martani, da sauransu, a hannun dama shine nunin hoto.

Kubernetes kuma ya haɗa da ginanniyar kayan aikin sa ido. Wannan zane-zane yana nuna gungu na yau da kullun wanda ke ƙunshe da ubangida ɗaya da kumburin ma'aikata uku.

DEVOXX Taron Burtaniya. Zaɓi tsari: Docker Swarm, Kubernetes ko Mesos. Kashi na 3

Kowane kumburin aiki ya ƙunshi cAdvisor da aka ƙaddamar ta atomatik. Bugu da kari, akwai Heapster, tsarin saka idanu na aiki da tsarin tarin awo wanda ya dace da sigar Kubernetes 1.0.6 da sama. Heapster yana ba ku damar tattara ba kawai ma'aunin aikin aiki na kayan aiki, kwasfa da kwantena ba, har ma da abubuwan da suka faru da sauran sigina waɗanda duk tarin ya haifar. Don tattara bayanai, yana magana da kowane Kubelet, yana adana bayanan ta atomatik a cikin bayanan InfluxDB, kuma yana fitar da shi azaman ma'auni zuwa dashboard na Grafana. Koyaya, ku tuna cewa idan kuna amfani da miniKube, wannan fasalin baya samuwa ta tsohuwa, don haka dole ne kuyi amfani da addons don saka idanu. Don haka duk ya dogara da inda kuke gudanar da kwantena da kuma kayan aikin sa ido da zaku iya amfani da su ta tsohuwa kuma waɗanda kuke buƙatar shigar azaman ƙari daban-daban.

Zalika na gaba yana nuna dashboards na Grafana waɗanda ke nuna yanayin gudana na kwantena. Akwai bayanai masu ban sha'awa da yawa anan. Tabbas, akwai kayan aikin sa ido na Docker da Kubernetes da yawa na kasuwanci, kamar SysDig, DataDog, NewRelic. Wasu daga cikinsu suna da lokacin gwaji na kyauta na shekaru 30, don haka zaku iya gwadawa ku nemo wanda ya fi dacewa da ku. Da kaina, na fi son amfani da SysDig da NewRelic, waɗanda ke haɗawa da kyau tare da Kubernetes. Akwai kayan aikin da ke haɗawa daidai da kyau cikin duka dandamali na Docker da Kubernetes.

Wasu tallace-tallace 🙂

Na gode da kasancewa tare da mu. Kuna son labaran mu? Kuna son ganin ƙarin abun ciki mai ban sha'awa? Goyon bayan mu ta hanyar ba da oda ko ba da shawara ga abokai, girgije VPS don masu haɓakawa daga $ 4.99, analog na musamman na sabar matakin shigarwa, wanda mu muka ƙirƙira muku: Duk gaskiyar game da VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps daga $19 ko yadda ake raba sabar? (akwai tare da RAID1 da RAID10, har zuwa 24 cores kuma har zuwa 40GB DDR4).

Dell R730xd 2x mai rahusa a cibiyar bayanan Equinix Tier IV a Amsterdam? Nan kawai 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV daga $199 a cikin Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - daga $99! Karanta game da Yadda ake gina Infrastructure Corp. aji tare da amfani da sabar Dell R730xd E5-2650 v4 masu darajan Yuro 9000 akan dinari?

source: www.habr.com

Add a comment