Manaoga mo le fausiaina o se talosaga ile Kubernetes

O le asō ua ou fuafua e talanoa e uiga i le tusiaina o tusi talosaga ma mea e manaʻomia mo lau talosaga e galue lelei i Kubernetes. Ina ia leai se ulu tiga i le talosaga, ina ia e le tau faʻatupuina ma fausia soʻo se "paʻu" faʻataʻamilo i ai - ma o mea uma e galue i le auala na fuafuaina e Kubernetes.

O lenei lauga o se vaega o le "Slurm Night School i Kubernetes" E mafai ona e va'ai i tautalaga fa'apitoa a le A'oga Afiafi i luga ole Youtube, fa'avasegaina ile lisi. Mo i latou e sili atu i tusitusiga nai lo le vitio, ua matou saunia lenei tusiga.

O loʻu igoa o Pavel Selivanov, i le taimi nei o aʻu o le taʻutaʻua DevOps inisinia i Mail.ru Cloud Solutions, matou te faia ao, matou te faia le pulega kubernetes ma isi. O aʻu galuega o loʻo aofia ai le fesoasoani i le atinaʻe, taʻavaleina o nei ao, taʻavale i fafo tusi talosaga matou te tusia ma faʻapipiʻi saʻo meafaigaluega matou te saunia mo matou tagata faʻaoga.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

Sa ou faia DevOps, ou te manatu mo le mulimuli, masalo, tolu tausaga. Ae, i le mataupu faavae, sa ou faia le mea e fai e DevOps pe a ma le lima tausaga i le taimi nei. A o lei oo i lena, sa tele lava ina ou aafia i mea tau pulega. Na amata ona ou galue ma Kubernetes i se taimi ua leva - masalo pe a ma le fa tausaga talu ona ou galue i ai.

I se tulaga lautele, na ou amata pe a Kubernetes o le version 1.3, masalo, ma atonu 1.2 - aʻo iai pea i lona pepe. O lea la ua le o toe i ai i le taimi nei - ma ua manino mai o loʻo i ai se manaʻoga tele i le maketi mo inisinia o loʻo manaʻo e mafai ona faia Kubernetes. Ma o kamupani e maualuga tele le manaʻoga mo ia tagata. O le mea lea, o le mea moni, na faʻaalia lenei lauga.

Afai tatou te talanoa e uiga i le fuafuaga o le mea o le a ou talanoa ai, e pei o lenei, i totonu o puipui o loʻo tusia ai (TL;DR) - "umi tele; aua le faitau”. O la'u tautalaga i le asō o le a aofia ai lisi e le gata.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

O le mea moni, o aʻu lava e le fiafia i na faʻaaliga pe a faia, ae o se autu lea a o ou saunia lenei faʻamatalaga, ou te leʻi mafaufauina pe faʻafefea ona faʻatulaga ese lenei faʻamatalaga.

Aua, i le lautele, o lenei faʻamatalaga o le "ctrl + c, ctrl + v", mai, faatasi ai ma isi mea, o la matou Wiki i le DevOps vaega, lea na matou tusia ai manaʻoga mo tagata atiaʻe: "tama, ina ia matou faʻalauiloa lau talosaga i totonu. Kubernetes, e tatau ona faʻapea."

O le mafuaʻaga lea na faʻaalia ai le faʻaaliga o se lisi tele. Faamalie. O le a ou taumafai e taʻu atu le tele e mafai ai ina ia aua neʻi faʻavaivai pe a mafai.

Le mea o le a tatou vaʻai i ai nei:

  • o mea ia, muamua, ogalaau (ogalaau talosaga?), o le a le mea e fai ia i latou i Kubernetes, o le a le mea e fai ia i latou, o le a le mea e tatau ona i ai;
  • o le a le mea e fai i faʻasalalauga i Kubernetes, o a auala sili ma sili ona leaga e faʻapipiʻi ai se talosaga mo Kubernetes;
  • Se'i o tatou talanoa po'o le a le tulaga lautele o siaki avanoa, pe fa'apefea ona foliga;
  • sei o tatou talanoa e uiga i le tapuni matagofie;
  • sei o tatou toe talanoa e uiga i punaoa;
  • Sei o tatou toe pa'i atu i le autu o le teuina o faamatalaga;
  • ma i le faaiuga o le a ou taʻu atu ia te oe le uiga o lenei mea lilo o le cloud-native application. Cloudnativeness, e fai ma fa'auiga o lenei upu.

Ogalaau

Ou te fautua atu e amata i ogalaau - ma le mea e manaʻomia ai nei ogalaau i Kubernetes. O lea ua e fa'alauiloa se talosaga ile Kubernetes. E tusa ai ma tala faʻasolopito, o talosaga muamua na tusia i taimi uma ni ogalaau i se mea i se faila. O tusi talosaga leaga na tusia ai ogalaau i se faila i le lisi o fale a le tagata na faia le talosaga. O talosaga lelei na tusia ogalaau i se faila i se mea i totonu /var/log.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

E tusa ai ma lea, e le gata i lea, o pulega lelei na i ai ni mea na faʻapipiʻiina i totonu oa latou atinaʻe e mafai e nei ogalaau ona fesuiaʻi - o le rsyslog tutusa, lea e vaʻavaʻai i nei ogalaau ma pe a tupu se mea ia i latou, e tele naua, e fatuina kopi kopi, tuʻu ogalaau iina. , tapeina faila tuai, sili atu i le vaiaso, ono masina ma isi. I le talitonuga, e tatau ona i ai ni a tatou aiaiga ina ia na o le tusi talosaga e tusi ogalaau, o le avanoa i luga o le gaosiga o masini (taua?) e le uma. Ma, e tusa ai, o le gaosiga atoa e leʻi taofia ona o ogalaau.

Pe a tatou siitia atu i le lalolagi o Kubernetes ma tamoe i le mea lava e tasi iina, o le mea muamua e mafai ona e gauai atu i ai o le mea moni o tagata, ao latou tusia ogalaau i se faila, e faaauau pea ona tusia.

E aliali mai afai tatou te talanoa e uiga i Kubernetes, o le nofoaga saʻo e tusi ai ogalaau i se mea mai se pusa faʻapipiʻi naʻo le tusiaina mai le talosaga i le mea e taʻua o Stdout/Stderr, o lona uiga, o le faʻaogaina o le faʻaogaina o faʻasalalauga masani, faʻasologa masani. galuega faatino . Ole auala sili lea ona sa'o, sili ona faigofie ma sili ona talafeagai e tu'u ai ogalaau ile mataupu faavae ile Docker aemaise ile Kubernetis. Aua afai e tusi lau tusi ogalaau i Stdout / Stderr, ona oʻo lea ia Docker ma le Kubernetes faʻaopoopo e filifili pe o le a le mea e fai i nei ogalaau. Docker o le a le mafai ona fausia ana faila faʻapitoa i le JSON format.

O le fesili la ua tulai mai, o le a le isi mea o le a e faia i nei ogalaau? O le auala sili ona faigofie e manino, o loʻo ia i tatou le tomai e fai ai kubectl logs ma va'ava'ai i ogalaau o nei "po'o". Ae, masalo, e le o se filifiliga lelei tele - o se isi mea e manaʻomia ona fai i ogalaau.

Mo le taimi nei, tatou talanoa i le taimi lava e tasi, talu ai na tatou paʻi atu i le autu o ogalaau, e uiga i se mea e pei o ogalaau e tatau ona foliga. O lona uiga, e le faʻatatau saʻo i Kubernetes, ae a amata ona tatou mafaufau i le mea e fai i ogalaau, e lelei le mafaufau i lenei mea.

Matou te manaʻomia se ituaiga o meafaigaluega, i se auala faʻalelei, o le a ave nei ogalaau e tuʻu e le matou faila i totonu o ana faila ma lafo i se mea. I le lautele, e masani ona matou faʻalauiloaina se ituaiga o sui i totonu o Kubernetes i le tulaga o le DaemonSet - o se ogalaau aoina, lea e naʻo le taʻuina o mea o loʻo i ai ogalaau e aoina e Docker. Ma o lenei tagata e aoina mai na o le ave lava, atonu e faʻapipiʻiina i latou i luga o le ala, atonu e faʻatamaoaigaina i latou i nisi faʻamatalaga faʻamatalaga ma, mulimuli ane, auina atu mo le teuina i se mea. O fesuiaiga ua uma ona mafai iina. O le mea sili ona taatele atonu o le Elasticsearch, lea e mafai ona e teuina ai ogalaau ma e mafai ona e toe maua mai iina. Ma, faʻaaoga se fesili, faʻaaoga Kibana, mo se faʻataʻitaʻiga, fausia kalafi faʻavae i luga o latou, fausia faʻasalalauga faʻavae i luga o latou, ma isi.

O le manatu pito sili ona taua, ou te toe fai, o totonu o Docker, aemaise lava i totonu o Kubernetes, o le teuina o au ogalaau i se faila o se manatu leaga tele.

Aua muamua, e faigata ona maua ogalaau i totonu o le atigipusa i se faila. E tatau ona e alu muamua i totonu o le koneteina, faʻatino iina, ona e vaʻai lea i ogalaau. O le isi itu, afai e iai sau ogalaau i totonu o se faila, o pusa e masani lava ona i ai se siosiomaga laʻititi ma e leai ni mea faʻaoga e masani ona manaʻomia mo galuega masani ma ogalaau. Tanumia i latou, va'ai i ai, tatala i se fa'atonu tusitusiga. O le isi taimi o loʻo i ai ni ogalaau i totonu o se faila i totonu o se koneteina, afai e tape lenei container, e te malamalama, o le a mate faʻatasi ma ia ogalaau. O lea la, so'o se toe amataina o le koneteina o lona uiga ua leai ni ogalaau. Toe foi, leaga le filifiliga.

Ma o le mea mulimuli o totonu o koneteina e masani lava ona i ai lau talosaga ma o le mea lena - e masani lava ona na o le pau lea o le faagasologa o loʻo faʻatinoina. E leai lava se tautalaga e uiga i soʻo se faʻagasologa e ono fesuiaʻi faila ma au ogalaau. O le taimi lava e amata ai ona tusia ogalaau i se faila, o lona uiga, faʻamolemole, o le a amata ona matou leiloa le gaosiga o le gaosiga. Talu ai, muamua, e faigata ona maua, e leai se tasi na te vaʻaia i latou, faʻatasi ai ma se tasi e pulea i latou - e tusa ai, o le faila e tupu e le gata seʻia oʻo ina uma le avanoa i luga o le server. O le mea lea, ou te toe fai atu o le taina i Docker, aemaise lava i Kubernetes, i se faila o se manatu leaga.

O le isi itu, o lea ou te toe fia talanoa e uiga i lenei mea - talu ai o loʻo tatou paʻi atu i le autu o ogalaau, e lelei le talanoa pe faʻafefea ona foliga ogalaau ina ia faʻafaigofie ona galulue ma i latou. E pei ona ou fai atu, o le autu e le o fesoʻotaʻi saʻo i Kubernetes, ae e fesoʻotaʻi lelei ma le autu o DevOps. I luga o le autu o le aganuu atinae ma le faigauo i le va o nei matagaluega eseese e lua - Dev ma Ops, ina ia maua e tagata uma le mafanafana.

O lona uiga o le mea sili, i aso nei, o ogalaau e tatau ona tusia i le JSON format. Afai ei ai sau lava faʻaoga e le mafai ona malamalama i ai, lea e tusia ai ogalaau i faʻasologa e le mafai ona malamalama i ai ona e te faʻaofiina se ituaiga lolomi poʻo se mea faapena, ona oʻo lea i le taimi e google ai se ituaiga o faʻavaa, o se ituaiga afifi e mafai ai ona e faʻatinoina le faʻapipiʻiina masani; fa'ataga fa'amaufa'ailoga i le JSON iina, aua o le JSON o se fa'asologa faigofie, fa'avasega e faigofie.

Afai e le galue lau JSON e tusa ai ma nisi o taʻiala, e leai se tasi na te iloa le mea, ona tusi lea o ogalaau i se faatulagaga e mafai ona faʻasalalau. O iinei, nai lo lena, e taua le mafaufau i le mea moni e faapea, mo se faʻataʻitaʻiga, afai o loʻo e taʻavaleina se faʻailoga o koneteina pe naʻo le faʻagasologa ma le nginx, ma e tofu lava ma a latou lava faʻamaufaʻailoga, atonu e foliga mai o le a matua faigata lava mo oe. fa'amatala i latou. Aua mo faʻataʻitaʻiga fou nginx taʻitasi e te manaʻomia le tusia o lau lava parser, aua latou te tusia ogalaau eseese. E le gata i lea, atonu e aoga le mafaufau e uiga i le faʻamautinoaina o nei mea uma o le nginx e tutusa le faʻatulagaina o laiga ma tusia uma a latou ogalaau i le tulaga tutusa. E fa'apea fo'i ona fa'atatau i talosaga uma.

I le faaiuga, ou te manaʻo foʻi e faʻaopoopo le suauu i le afi, e sili, e tatau ona aloese mai faʻasologa o laina laina tele. O le mea lea, afai na e galue ma le au aoina ogalaau, e foliga mai ua e vaʻai i mea latou te folafola atu ia te oe, e mafai ona latou galulue i ogalaau e tele laina, iloa le aoina, ma isi. O le mea moni, i loʻu manatu, e leai se tasi e aoina i aso nei e mafai ona aoina le tele-laina ogalaau masani, atoatoa ma aunoa ma ni mea sese. I se auala faaletagata, ina ia faigofie ma leai se mea sese.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

Ae o fa'asologa o fa'aputuga e masani lava o fa'amaumauga e tele laina ma pe fa'afefea ona aloese mai ai. O le fesili iinei o le ogalaau o se faamaumauga o se mea na tupu, ma le stactrace e le o se ogalaau. Afai matou te aoina ogalaau ma tuʻuina i latou i se mea i Elasticsearch ona tusi ai lea o kalafi mai ia i latou, fausia ni lipoti o gaioiga a tagata faʻaoga i luga o lau 'upega tafaʻilagi, ona e maua ai lea o se faʻamaufaʻailoga, o lona uiga o loʻo tupu se mea e leʻi faʻamoemoeina i lau talosaga. Ma e talafeagai le faʻapipiʻiina otometi se faʻamaufaʻailoga i se mea i totonu o se faiga e mafai ona siaki ai.

Ole polokalame lea (le Sentry tutusa) e fa'apitoa e galue ma fa'asologa o fa'aputuga. E mafai ona vave faia ni galuega fa'a otometi, tu'u atu i se tasi, mataala pe a tula'i mai stacttraces, fa'avasega nei stacttraces i se tasi ituaiga, ma isi. I le mataupu faavae, e le talafeagai tele le talanoa e uiga i stactraces pe a tatou talanoa e uiga i ogalaau, aua o nei mea uma, eseese mea ma faamoemoega eseese.

Fetuunaiga

O le isi matou talanoa e uiga i le faʻatulagaina i Kubernetes: o le a le mea e fai i ai ma pe faʻafefea ona faʻatulagaina talosaga i totonu o Kubernetes. I se tulaga lautele, e masani ona ou fai atu o Docker e le o ni pusa. E iloa e tagata uma o Docker e uiga i pusa, e oʻo lava ia i latou e leʻi galulue tele ma Docker. Ou te toe fai atu, Docker e leʻo faʻatatau i koneteina.

Docker, i loʻu manatu, e uiga i tulaga. Ma o loʻo i ai tulaga faʻapitoa mo mea uma lava: tulaga mo le fausiaina o lau talosaga, tulaga mo le faʻapipiʻiina o lau talosaga.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

Ma o lenei mea - na matou faʻaaogaina muamua, na faʻapitoa ona lauiloa i le oʻo mai o koneteina - o lenei mea e taʻua o le ENV (siosiomaga) fesuiaiga, o lona uiga, fesuiaiga o le siosiomaga o loʻo i totonu o lau faiga faʻaogaina. E masani lava o se auala lelei lea e faʻapipiʻi ai lau talosaga, aua afai e iai sau talosaga i JAVA, Python, Go, Perl, God for God, ma e mafai ona latou faitau uma i le database host, database user, database password variables, ona lelei lea. E i ai au tusi talosaga i gagana eseese e fa ua faʻatulagaina i le fuafuaga faʻamaumauga i le auala lava e tasi. E le toe iai ni configs eseese.

E mafai ona faʻatulagaina mea uma e faʻaaoga ai fesuiaiga ENV. A tatou talanoa e uiga i Kubernetes, o loʻo i ai se auala sili e faʻaalia ai suiga ole ENV i totonu ole Faʻasalalauga. E tusa ai, afai tatou te talanoa e uiga i faʻamatalaga faalilolilo, ona mafai loa lea ona tatou tuleia faʻamatalaga faalilolilo mai fesuiaiga o le ENV (passwords i databases, etc.) i totonu o se mealilo, fatuina se fuifui faalilolilo ma faʻaalia i le faʻamatalaga ENV i Deployment tatou te le o taʻutino saʻo. le tau o lenei fesuiaiga, ma le tau o lenei fesuiaiga o faamatalaga upu faataga o le a faitau mai le mea lilo. Ole amio masani lea a Kubernetes. Ma o le filifiliga sili lea ona lelei e faʻapipiʻi ai au talosaga. Na'o le tulaga fa'ailoga, toe fa'atatau i tagata atia'e. Afai o oe o DevOps, e mafai ona e fesili: "Alii, faʻamolemole aʻoaʻo lau talosaga e faitau suiga o le siosiomaga. Ma o le a tatou fiafia uma lava.”

Afai e faitau e tagata uma i totonu o le kamupani le igoa tutusa o le siosiomaga, ona lelei lea. Ina ia le tupu o nisi o loʻo faʻatali mo le postgres database, o isi o loʻo faʻatali mo le igoa database, o isi o loʻo faʻatali mo se isi mea, o isi o loʻo faʻatali mo se dbn o se ituaiga, ina ia, e tusa ai, o loʻo i ai le tutusa.

O le fa'afitauli e o'o mai pe a tele na'u suiga o le si'osi'omaga e na'o le tatalaina o le Deployment - ma e limaselau laina ole si'osi'omaga. I lenei tulaga, ua na'o lou fa'atupula'ia o suiga o le si'osi'omaga - ma e te le toe mana'omia le fa'atigaina o oe lava. I lenei tulaga, e talafeagai le amata faʻaaogaina configs. O lona uiga, a'oa'o lau talosaga e fa'aoga configs.

Pau lava le fesili o configs e le o mea e te manatu ai. Config.pi e le o se config e faigofie ona faʻaoga. Po'o nisi config i lau oe lava faatulagaga, isi meaalofa - e le o le config foi lea ou te fai atu ai.

O le mea o loʻo ou talanoa i ai o le faʻatulagaina i faʻatulagaga talia, o lona uiga, o le tulaga sili ona lauiloa o le .yaml standard. E manino le faitau, e mafai ona faitau e tagata, e manino le faitau mai le talosaga.

E tusa ai, i le faaopoopo atu i le YAML, e mafai foi, mo se faʻataʻitaʻiga, faʻaaoga le JSON, faʻasalalau e tusa ma le faigofie e pei o le YAML i tulaga o le faitauina o le faʻatulagaina o talosaga mai iina. E sili atu ona le faigofie mo tagata le faitau. E mafai ona e taumafai i le faatulagaga, a la ini. E faigofie tele le faitau, mai le vaaiga a le tagata, ae atonu e le faigofie le faʻaogaina otometi, i le uiga afai e te manaʻo e faʻatupu au oe lava configs, o le ini format atonu ua le faigofie ona gaosia.

Ae i soʻo se tulaga, poʻo le a lava le faʻatulagaga e te filifilia, o le manatu o le mai le Kubernetes manatu e matua faigofie lava. E mafai ona e tuʻuina lau faʻaoga atoa i totonu o Kubernetes, ile ConfigMap. Ona ave lea o le configmap ma fai atu e faapipii i totonu o lau pod i se lisi patino, lea o le a faitau ai lau talosaga le faatulagaga mai lenei configmap e pei ua na o se faila. O le mea moni, o le mea lea e lelei e fai pe a tele au filifiliga faʻatulagaina i lau talosaga. Pe na o se ituaiga fausaga lavelave, e iai le faamoega.

Afai ei ai sau configmap, ona mafai lea ona e aʻoaʻoina lelei lau talosaga, mo se faʻataʻitaʻiga, e otometi ona siaki suiga i le faila o loʻo faʻapipiʻi ai le configmap, ma otometi foi ona toe faʻapipiʻi lau talosaga pe a suia le configs. E masani lava o se filifiliga sili lea.

Toe, ua uma ona ou talanoa e uiga i lenei mea - faʻamatalaga faalilolilo e le oi totonu o le configmap, faʻamatalaga faalilolilo e le o fesuiaʻi, faʻamatalaga faalilolilo e le o mea lilo. Mai iina, faʻafesoʻotaʻi lenei faʻamatalaga faalilolilo i diplomacy. E masani ona matou teuina faʻamatalaga uma o mea Kubernetes, faʻapipiʻiina, configmaps, auaunaga i le git. E tusa ai ma lea, o le tuʻuina o le upega tafaʻilagi i le database i le git, e tusa lava pe o lau git, o loʻo ia te oe i totonu o le kamupani, o se manatu leaga. Aua, i se tulaga maualalo, e manatua e git mea uma ma na o le aveeseina o upu faʻaulu mai iina e le faigofie tele.

Siaki le soifua maloloina

O le isi itu o le mea lea e ta'u o le Health check. I se tulaga lautele, o le siakiina o le Soifua Maloloina e na'o le siakiina o lau talosaga o loʻo galue. I le taimi lava e tasi, e masani ona matou talanoa e uiga i nisi o talosaga i luga o le initaneti, lea, e tusa ai, mai le vaaiga o le siakiina o le soifua maloloina (e sili atu le le faʻaliliuina iinei ma isi mea) o le a avea ma se URL faʻapitoa, lea latou te faʻatinoina e pei o. se tulaga, e masani lava ona latou faia /health.

Pe a maua lenei URL, e tusa ai, e fai mai le matou talosaga "ioe, lelei, o loʻo lelei mea uma ia te aʻu, 200" poʻo le "leai, e le lelei mea uma ia te aʻu, pe a ma le 500." E tusa ai, afai o la matou talosaga e le o le http, ae le o se upega tafaʻilagi, o loʻo matou talanoa nei e uiga i se ituaiga o daemon, e mafai ona matou mafaufau pe faʻafefea ona fai siaki soifua maloloina. O lona uiga, e le manaʻomia, pe afai o le talosaga e le o le http, ona galue uma lea e aunoa ma se siaki soifua maloloina ma e le mafai ona faia i soo se auala. E mafai ona e faʻafouina i lea taimi ma lea taimi nisi faʻamatalaga i le faila, e mafai ona e sau ma se faʻatonuga faʻapitoa mo lau daemon, pei, daemon status, lea o le a fai mai "ioe, o loʻo lelei mea uma, o loʻo galue le daemon, o loʻo ola."

O le a le mea e fai ai? O le mea muamua ma sili ona manino atonu o le mafuaʻaga lea e manaʻomia ai le siakiina o le soifua maloloina - ia malamalama o loʻo galue le talosaga. O le uiga o la’u tala, ua na’o le faavalevalea, a o’o loa i luga, e foliga mai o lo’o galue, ia e mautinoa o lo’o aoga. Ma e foliga mai o loʻo taʻavale le talosaga, o loʻo taʻavale le atigipusa, o loʻo galue le faʻataʻitaʻiga, o loʻo lelei mea uma - ona faʻamutaina lea e tagata faʻaoga uma numera telefoni mai le lagolago faʻapitoa ma fai mai "O le a oe ..., oe. na moe, e leai se mea o galue.”

O le siakiina o le soifua maloloina e naʻo se auala e iloa ai mai le manatu o le tagata faʻaoga e aoga. O se tasi o metotia. Tatou fa'apea. Mai le vaaiga a Kubernetes, o se auala foi lea e malamalama ai i le taimi e amata ai le talosaga, aua matou te malamalama o loʻo i ai se eseesega i le va o le taimi na faʻalauiloa ai le container, fatuina ma amata, ma le taimi na faʻalauiloa saʻo ai le talosaga i totonu o lenei container. Aua afai tatou te ave se talosaga java averesi ma taumafai e faʻalauiloa i totonu o le faʻailoga, pe a ma le fasefulu sekone, poʻo se minute, poʻo le sefulu, e mafai ona amata lelei. I lenei tulaga, e mafai ona e tu'itu'i i luga o ona ports, o le a le tali mai iina, o lona uiga, e leʻi sauni e maua fefaʻatauaiga.

Ma le isi, faʻatasi ai ma le fesoasoani a le siakiina o le soifua maloloina ma le fesoasoani a le mea moni o loʻo tatou liliu atu iinei, e mafai ona tatou malamalama i Kubernetes e le gata o le koneteina ua tulaʻi i le talosaga, ae o le talosaga lava ia ua amata, ua uma ona tali atu i le siaki le soifua maloloina, o lona uiga e mafai ona matou auina atu taavale iina.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

O le mea o loʻo ou talanoa i ai nei e taʻua o le saunia / Liveness suʻega i totonu o Kubernetes e tusa ai, o matou suʻega sauniuni e nafa ma le maua o le talosaga i le paleni; O lona uiga, afai e faia suʻega sauniuni i totonu o le talosaga, ona lelei lea o mea uma, o fefaʻatauaiga o tagata o loʻo alu i le talosaga. Afai e le faia suʻega sauniuni, ona le auai lea o le talosaga, o lenei faʻataʻitaʻiga faʻapitoa e le auai i le faapaleniina, e aveese mai le paleni, e le tafe atu tagata faʻatau. E tusa ai, su'ega Liveness i totonu o Kubernetes e mana'omia ina ia afai e pipii le talosaga, e mafai ona toe amata. Afai e le aoga le suʻega ola mo se talosaga o loʻo faʻaalia i le Kubernetes, e le naʻo le aveesea o le talosaga mai le paleni, ae toe amata.

Ma o se mea taua lenei ou te fia taʻua: mai se manatu faʻapitoa, o le suʻega sauniuni e masani ona faʻaaogaina ma sili atu ona manaʻomia nai lo le suʻega ola. O lona uiga, na o le fa'ailoaina atu ma le le mafaufauina o su'ega sauniuni ma le ola, aua e mafai e Kubernetes ona faia lena mea, ma fa'aaoga mea uma e mafai ona ia faia, e le o se manatu lelei tele. O le a ou faamatala atu pe aisea. Aua o le numera lua i su'ega o se manatu lelei le siakiina o le auaunaga autu i au siaki soifua maloloina. O lona uiga afai e iai sau 'upega tafaʻilagi e tuʻuina atu ni faʻamatalaga, lea, e masani lava, e tatau ona ave mai se mea. I totonu o se faʻamaumauga, mo se faʻataʻitaʻiga. Ia, e fa'asaoina ai fa'amatalaga e sau i totonu o lenei REST API i totonu o le fa'amaumauga tutusa. Ma, e tusa ai, afai e tali mai lau siaki soifua maloloina e pei o le slashhealth faʻafesoʻotaʻi, fai mai le talosaga "200, lelei, o loʻo lelei mea uma," ma i le taimi lava e tasi e le mafai ona maua le database o lau talosaga, ma fai mai le healthcheck application "200, lelei, o mea uma e lelei. ” - E leaga le siakiina o le soifua maloloina. E le o le auala lea e tatau ona galue ai.

O lona uiga, o lau talosaga, pe a oo mai se talosaga i ai /health, e le na'o le tali mai, "200, ok", e alu muamua, mo se faʻataʻitaʻiga, i le database, taumafai e faʻafesoʻotaʻi i ai, faia se mea sili ona taua iina, pei o le filifilia o le tasi, naʻo le siakiina o loʻo i ai se fesoʻotaʻiga i le database ma e mafai ona e fesiligia le database. Afai na manuia nei mea uma, o le tali o le "200, lelei." Afai e le manuia, e fai mai o loʻo i ai se mea sese, o le database e le o avanoa.

O le mea lea, i lenei tulaga, ou te toe foʻi atu i suʻega Saunia / Liveness - aisea e te manaʻomia ai se suʻega sauniuni, ae o se suʻega ola e fesiligia. Aua afai e te faʻamatalaina siaki faʻalesoifua maloloina e pei ona ou fai atu ai, o le a foliga mai e le o maua i le vaega faʻataʻitaʻiga.в или со всех instancei totonu o se faʻamaumauga, mo se faʻataʻitaʻiga. Ina ua e faʻaalia se suʻega sauniuni, na amata ona le manuia a matou suʻesuʻega faʻalesoifua maloloina, ma e tusa ai ma talosaga uma e le mafai ona maua ai le database, ua na o le tapeina mai le paleni ma o le mea moni "tautau" i se tulaga le amanaiaina ma faʻatali mo latou faʻamaumauga e galuega.

Afai na matou faʻaalia se suʻega ola, mafaufau, ua malepe le matou database, ma i lau Kubernetes o le afa o mea uma ua amata ona toe amata ona ua le manuia le suʻega ola. O lona uiga e tatau ona e toe amata. E le o le mea tonu lea e te manaʻo ai, na ou maua foi le poto masani i le faʻatinoga. Sa i ai sa matou talosaga talatalanoaga na tusia i le JS ma fafaga i totonu o le Mongo database. Ma o le faʻafitauli o le i le amataga o laʻu galuega ma Kubernetes, matou faʻamatalaina le saunia, ola o suʻega i luga o le mataupu faavae e mafai e Kubernetes ona faia, o lea o le a matou faʻaaogaina. E tusa ai ma lea, i se taimi na avea ai Mongo ma "faʻavalevalea" ma na amata ona toilalo le faʻataʻitaʻiga. E tusa ai ma lea, e tusa ai ma le suʻega o timuga, na amata ona "fasi" pusa.

E pei ona e malamalama, pe a "fasiotia" i latou, o se talatalanoaga, o lona uiga, e tele fesoʻotaʻiga mai tagata faʻatau o loʻo tautau i luga. E "fasiotia" foi i latou - leai, e le o tagata faʻatau, naʻo fesoʻotaʻiga - e le o mea uma i le taimi e tasi, ma ona o le mea moni e le o fasiotia i latou i le taimi e tasi, o nisi muamua, o nisi mulimuli ane, latou te le amataina i le taimi lava e tasi. taimi. Fa'atasi ai ma tulaga fa'afuase'i, e le mafai ona tatou va'ai ma le millisecond sa'o le taimi e amata ai le talosaga i taimi ta'itasi, o lea latou te faia tasi i le taimi. E tasi le infospot e tulaʻi mai, faʻaopoopo i le paleni, o mai uma tagata faʻatau iina, e le mafai ona tatalia se uta faʻapea, aua e na o ia, ma, e tusa ma le tautala, e toʻasefulu o latou o loʻo galulue iina, ma pa'ū. O le isi e tulaʻi mai, ua i ona luga le avega atoa, e paʻu foʻi o ia. Ia, o nei afu ua na o le fa'asolosolo lava. I le faaiuga, pe faʻafefea ona foia lenei mea - naʻo le tatau lava ona taofi le faʻaogaina o tagata faʻaoga i lenei talosaga, tuʻu mea uma e tulaʻi mai ona amata uma lea o fefaʻatauaiga a tagata faʻaoga i le taimi e tasi ina ia uma ona tufatufa atu i taimi uma e sefulu.

Ana le seanoa lenei su'ega ola o lo'o fa'asalalauina, o le a fa'amalosia uma e toe amata, semanu e fa'atautaia lelei e le talosaga. Ae o mea uma mai le paleni e le atoatoa mo i matou, ona o faʻamaumauga e le mafai ona maua ma o tagata uma e faʻaoga ua "paʻu ese". Ma, pe a maua lenei faʻamaumauga, o mea uma e aofia i le paleni, ae e le manaʻomia ona toe amata talosaga, ma e leai se manaʻoga e faʻaumatia taimi ma punaoa i lenei mea. Ua uma ona i ai i latou uma, ua latou sauni mo fefaʻatauaiga, o lea naʻo le tatalaina o taavale, o loʻo lelei mea uma - o loʻo i ai le talosaga, o loʻo faʻaauau pea mea uma.

O le mea lea, o suʻega sauniuni ma le ola e eseese, e le gata i lea, e mafai ona e faia faʻataʻitaʻiga suʻega faʻalesoifua maloloina, tasi ituaiga radii, tasi ituaiga liv, mo se faʻataʻitaʻiga, ma siaki mea eseese. I taimi o su'ega sauniuni, siaki au pito i tua. Ma i luga o se suʻega ola, mo se faʻataʻitaʻiga, e te le siakiina mai le manatu o le suʻega ola e masani lava naʻo se talosaga e tali atu, pe afai e mafai ona tali atu.

Aua o le suʻega o le ola, i le lautele, o le taimi tatou te "pipii." Ua amata se matasele e le gata po'o se isi mea - ma e le toe faia ni talosaga. O le mea lea, e talafeagai le tuʻufaʻatasia o latou - ma faʻatino manatu eseese i totonu ia i latou.

E tusa ai ma le mea e te manaʻomia e tali ai pe a fai sau suʻega, pe a e faia suʻega faʻalesoifua maloloina. E matua tiga lava. O i latou e masani i lenei mea atonu o le a talie - ae o le mea moni, ua ou vaai i auaunaga i loʻu olaga e tali "200" i le XNUMX% o mataupu. O lona uiga, o ai e manuia. Ae i le taimi lava e tasi i le tino o le tali latou te tusia ai "sese lea ma lea."

O lona uiga, o le tulaga tali e oʻo mai ia te oe - o mea uma e manuia. Ae i le taimi lava e tasi, e tatau ona e faʻavasega le tino, aua o le tino e fai mai "faʻamolemole, o le talosaga na maeʻa i se mea sese" ma o le mea moni lava lea. Na ou vaai i lenei mea i le olaga moni.

Ma ina ia le maua e nisi tagata se mea malie, ae o isi e matua tiga lava, e aoga pea le tausisia o se tulafono faigofie. I le siakiina o le soifua maloloina, ma i le mataupu faavae pe a galue i luga o upega tafaʻilagi.

Afai e lelei mea uma, ona tali atu lea i le tali lona lua selau. I le mataupu faavae, soo se lua-selau tali e fetaui ma oe. Afai e lelei tele lau faitau ma iloa o nisi tulaga tali e ese mai isi, tali i tulaga talafeagai: 204, 5, 10, 15, po o le a lava. Afai e le lelei tele, ona na o le "lua zero zero." Afai e leaga mea uma ma e le tali mai le siaki o le soifua maloloina, ona tali lea i le lima selau. Toe fo'i, afai e te malamalama i le auala e tali atu ai, pe fa'afefea ona eseese tulaga tali mai le tasi ma le isi. Afai e te le malamalama, o le 502 o lau filifiliga e tali atu i siaki soifua maloloina pe a iai se mea e faaletonu.

O le isi lea manatu, ou te fia toe foʻi mai e uiga i le siakiina o auaunaga autu. Afai e te amata, mo se faʻataʻitaʻiga, siaki uma auaunaga faʻavae o loʻo tu i tua o lau talosaga - mea uma i le lautele. O mea matou te maua mai le vaaiga o le microservice architecture, o loʻo i ai le matou manatu e pei o le "maualalo soʻotaga" - o lona uiga, pe a faʻalagolago le tasi i le isi au tautua. Afai e le manuia se tasi, o isi uma e aunoa ma lenei faʻatinoga o le a faʻaauau pea ona galue. O nisi o galuega e le aoga. E tusa ai ma lea, afai e te nonoa uma siaki soifua maloloina i le tasi ma le isi, ona e faʻamutaina lea i se mea e tasi e pa'ū i totonu o atinaʻe, ma talu ai na pa'ū, o siaki uma o le soifua maloloina o auaunaga uma e amata foi ona toilalo - ma o loʻo i ai le tele o atinaʻe lautele mo le fausaga microservice atoa Nu. Sa pogisa mea uma iina.

O le mea lea, ou te manaʻo e toe fai lenei mea e te manaʻomia le siakiina o auaunaga faʻavae, oi latou e aunoa ma lau talosaga i le selau pasene o mataupu e le mafai ona faia lana galuega. O lona uiga, e talafeagai pe afai e iai sau REST API e faʻasaoina ai e le tagata faʻaoga i le database pe toe aumai mai le database, ona leai lea o se faʻamaumauga, e le mafai ona e faʻamaonia le galulue ma au tagata faʻaoga.

Ae afai e fa'atamaoaigaina e au tagata fa'aoga, pe a e ave'esea mai le fa'amaumauga, i nisi metadata, mai le isi pito pito i tua, lea e te ulufale i ai a'o le'i tu'uina atu se tali i le pito i luma - ma e le o avanoa lenei pito i tua, o lona uiga e te tu'uina atu lau tali e aunoa ma se vaega o metadata.

O le isi, e iai fo'i se tasi o fa'afitauli tiga pe a fa'alauiloa talosaga.

O le mea moni, e le gata e faʻatatau i Kubernetes i le lautele ma le mea na tupu o le aganuʻu o se ituaiga o faʻalautelega tele ma DevOps aemaise lava na amata faʻasalalau i le taimi lava e tasi e pei o Kubernetes. O le mea lea, i le lautele, e foliga mai e te manaʻomia le tapunia ma le alofa e aunoa ma le Kubernetes. E oo lava i luma o Kubernetes, na faia e tagata lenei mea, ae i le oʻo mai o Kubernetes, na amata ona matou talanoa e uiga i ai i le tele.

Tapuni Atamai

I se tulaga lautele, o le a le Graceful Shutdown ma aisea e manaʻomia ai? E tusa lea pe a pa'u lau talosaga mo nisi mafuaaga, e tatau ona e faia app stop - pe e te mauaina, mo se faʻataʻitaʻiga, se faʻailoga mai le faiga faʻaogaina, o lau talosaga e tatau ona malamalama i ai ma fai se mea e uiga i ai. O le tulaga sili ona leaga, ioe, o le taimi e maua ai e lau talosaga se SIGTERM ma e pei o le "SIGTERM, tatou tumau, galue, leai se mea e fai." Ole filifiliga leaga tele lea.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

O se filifiliga toetoe lava tutusa le leaga o le taimi e maua ai e lau talosaga se SIGTERM ma e pei o "na latou fai mai segterm, o lona uiga ua tatou faʻamutaina, ou te leʻi vaʻai, ou te le iloa ni talosaga a tagata, ou te le iloa po o le a le ituaiga talosaga o loʻo ou galue i le taimi nei, na latou fai mai SIGTERM, o lona uiga ua matou faʻamutaina " O se filifiliga leaga foi lea.

O le fea filifiliga e lelei? O le mea muamua o le amanaia o le maeʻa o gaioiga. O se filifiliga lelei mo lau 'au'aunaga e fa'atatau pea i mea e fai pe a maua se SIGTERM.

SIGTERM o se tapuni malu, ua mamanuina faapitoa, e mafai ona taofia i le tulaga code, e mafai ona faʻagasolo, fai mai o lenei, faʻatali, tatou te faʻauma muamua le galuega o loʻo ia i tatou, ona tatou o ese ai lea.

Mai le vaaiga a Kubernetes, o le mea lea e foliga mai. A matou fai atu i se pusa o loʻo taʻavale i totonu o le Kubernetes cluster, "faʻamolemole taofi, alu ese," pe toe amata, poʻo se faʻafouga e tupu pe a toe faia e Kubernetes ia pods, e lafo e Kubernetes le savali SIGTERM lava e tasi i le pod, faʻatali mo o se taimi, ma, o le taimi lenei o loʻo faʻatali ai, o loʻo faʻatulagaina foi, o loʻo i ai se faʻailoga faʻapitoa i tipiloma ma e taʻua o Graceful ShutdownTimeout. E pei ona e malamalama ai, e le o taʻua e leai se mea, ma e le o se mea o loʻo tatou talanoa ai i le taimi nei.

O iina e mafai ona matou taʻu patino atu le umi e tatau ona matou faʻatali ai i le va o le taimi matou te lafoina ai le SIGTERM i le talosaga ma pe a matou malamalama o le talosaga e foliga mai ua valea mo se mea pe ua "pipii" ma o le a le muta - ma e manaʻomia lafo i ai SIGKILL, o lona uiga, fa'amae'aina lana galuega. O lona uiga, e tusa ai, o loʻo i ai a matou ituaiga o daemon o loʻo taʻavale, e faʻagasolo ai gaioiga. Matou te malamalama o le averesi o matou gaioiga o loʻo galue ai le daemon e le sili atu i le 30 sekone i le taimi. E tusa ai, pe a oʻo mai SIGTERM, matou te malamalama e mafai e le matou daemon, i le tele, faʻauma 30 sekone pe a uma le SIGTERM. Matou te tusia, mo se faʻataʻitaʻiga, 45 sekone naʻo le tulaga ma fai atu SIGTERM. A uma lena matou te faatali mo le 45 sekone. I le talitonuga, i le taimi lea e tatau ona maeʻa e le temoni lana galuega ma faʻauʻu lava. Ae a fa'afuase'i e le mafai, o lona uiga e foliga mai e pipii-e le o toe fa'agasolo masani a tatou talosaga. Ma i totonu o le 45 sekone e mafai ona e saogalemu, i le mea moni, tuʻi fao i lalo.

Ma iinei, i le mea moni, e oo lava i le 2 itu e mafai ona amanaia. Muamua, ia malamalama afai na e mauaina se talosaga, na amata ona e galue i ai ma e leʻi tuʻuina atu se tali i le tagata faʻaoga, ae na e mauaina SIGTERM, mo se faʻataʻitaʻiga. E talafeagai le faʻamamaina ma tuʻuina atu se tali i le tagata faʻaoga. O le itu numera tasi lea i lea tulaga. O le numera lua iinei o le afai e te tusia lau lava talosaga, e masani ona fausia le fausaga i se auala e te maua ai se talosaga mo lau talosaga, ona e amata ai lea o se galuega, amata ona sii mai faila mai se mea, sii mai se database, ma isi mea. lena. I se tulaga lautele, o lau tagata faʻaoga, o lau talosaga e tautau mo le afa itula ma faʻatali mo oe e tali atu ia te ia - ona, e foliga mai, e tatau ona e galue i luga o le fausaga. O lona uiga, na'o le amanaia e oo lava i le mafaufau masani e faapea afai e puupuu au gaioiga, o lona uiga e talafeagai le le amanaiaina o le SIGTERM ma suia. Afai e umi au gaioiga, o lona uiga e leai se uiga e le amanaiaina SIGTERM i lenei tulaga. E talafeagai le toe faʻatulagaina o le fausaga e aloese ai mai gaioiga umi. Ina ia le na o le tautau ma fa'atali tagata fa'aoga. Ou te le iloa, fai se ituaiga websocket iina, fai faʻamau faʻasolo lea o le a tuʻuina atu e lau 'auʻaunaga i le kalani, soʻo se isi lava mea, ae aua le faʻamalosia le tagata faʻaoga e tautau mo le afa itula ma faʻatali mo se sauniga seia e tali atu ia te ia. Aua e le taumate po o fea e malepe ai.

A fa'amutaina lau talosaga, e tatau ona e tu'uina atu se fa'ailoga talafeagai e alu ese ai. O lona uiga, afai na talosagaina lau talosaga e tapuni, taofi, ma na mafai ona taofi o ia lava, ona e le manaʻomia lea ona toe faʻafoʻi se ituaiga o code exit 1,5,255 ma isi. Soʻo se mea e le o se code code, a itiiti mai i Linux, ou te mautinoa i lenei mea, ua manatu e le manuia. O lona uiga, ua manatu o lau talosaga i lenei mataupu na muta i se mea sese. E tusa ai, i se auala filemu, afai e maeʻa lau talosaga e aunoa ma se mea sese, e te fai atu 0 i luga o le gaioiga. Afai e le manuia lau talosaga mo nisi mafuaaga, e te fai mai e le 0 i le gaioiga. Ma e mafai ona e galue i lenei faʻamatalaga.

Ma le filifiliga mulimuli. E leaga pe a tuʻuina atu e lau tagata faʻaoga se talosaga ma tautau mo le afa itula aʻo e faʻaogaina. Ae i se tulaga lautele, ou te fia fai atu foi e uiga i mea e masani ona aoga mai le itu a le kalani. E le afaina pe iai sau telefoni feaveaʻi, pito i luma, ma isi. E manaʻomia le amanaia o le mea lautele e mafai ona faʻamutaina le sauniga a le tagata, soʻo se mea e mafai ona tupu. E mafai ona lafo atu se talosaga, mo se fa'ata'ita'iga, e le'i fa'agaioia ma leai se tali e toe fa'afo'i mai. O lau pito i luma po'o lau talosaga feavea'i - so'o se pito pito i luma lautele, se'i fa'apea - e tatau ona amanaia lenei mea. Afai e te galue i websockets, e masani lava o le tiga sili lea ona leaga ua ou maua.

Pe a le iloa e le au atiaʻe o nisi o talatalanoaga masani, e foliga mai, e mafai ona malepe le websocket. Mo i latou, pe a tupu se mea i le sui, naʻo le suia o le config, ma toe faʻaleleia. E masani lava, o sauniga umi uma ua saeia i lenei tulaga. O loʻo taufetuli mai le au atinaʻe ia i matou ma fai mai: "Alii, o le a lau mea o fai, ua malepe le talatalanoaga mo a matou tagata faʻatau uma!" E matou te fai atu iā i latou: “O le ā la outou mea o fai? E le mafai e au tagata fa'atau ona toe feso'ota'i? Latou te fai mai: "Leai, matou te manaʻomia sauniga e aua le saeia." I se faapuupuuga, o le mea moni e le aoga. E tatau ona amanaia le itu o tagata o tausia. Aemaise lava, e pei ona ou fai atu, faatasi ai ma sauniga umi e pei o websockets, e mafai ona malepe ma, e le iloa e le tagata faʻaoga, e tatau ona e toe faʻapipiʻi ia sauniga. Ona atoatoa ai lea o mea uma.

Punaoa

O le mea moni, o le a ou taʻuina atu ia te oe se tala saʻo. Toe mai le olaga moni. O le mea sili ona ma'i ua ou faalogo i ai e uiga i punaoa.

Punaoa i lenei tulaga, o lona uiga o nisi ituaiga o talosaga, tapulaʻa e mafai ona e tuʻuina i luga o pods i au fuifui Kubernetes. O le mea malie na ou faalogo i ai mai se tagata atiaeina ... O se tasi o oʻu uso atinaʻe i se nofoaga muamua o galuega na fai mai: "O laʻu talosaga e le amata i le fuifui." Sa ou tilotilo e le o amataina, ae a le o le fetaui ma punaoa, pe na latou setiina ni tapulaa laiti. I se faapuupuuga, e le mafai ona amata le talosaga ona o punaoa. Ou te fai atu: "E le amataina ona o punaoa, e te filifili pe o le a le tele e te manaʻomia ma seti se tau talafeagai." Na ia faapea mai: “O ā ituaiga o punaoa?” Na amata ona ou faʻamatala atu ia te ia o Kubernetes, tapulaʻa i talosaga ma blah, blah, blah e tatau ona seti. Na faʻalogo le tamaloa mo le lima minute, luelue ma fai mai: "Na ou sau iinei e galue o se atinaʻe, ou te le fia iloa se mea e uiga i soʻo se punaoa. Na ou sau iinei e tusi code ma o le mea lena. E faanoanoa. Ose manatu fa'anoanoa tele lea mai le va'aiga a le tagata fa'atupu. Aemaise lava i le lalolagi faʻaonaponei, e faʻapea, o devops alualu i luma.

Aiseā e manaʻomia ai mea uma? E 2 ituaiga o punaoa i Kubernetes. O nisi e ta'ua o talosaga, o isi e ta'ua o tapula'a. E ala i punaoa o le a tatou malamalama ai e masani lava e na'o le lua tapulaa faavae. O lona uiga, tapula'a taimi ole CPU ma tapula'a RAM mo se atigipusa o lo'o ta'avale ile Kubernetes.

O le tapula'a e tu'u ai se tapula'a pito i luga i le auala e mafai ai ona fa'aoga se punaoa i lau talosaga. O lona uiga, e tusa ai, afai e te fai atu 1GB o le RAM i tapulaʻa, o lau talosaga o le a le mafai ona faʻaaogaina le sili atu i le 1GB o le RAM. Ma afai na te manaʻo faʻafuaseʻi ma taumafai e fai lenei mea, o le a taʻua o le oom killer, e le manatua, o lona uiga, o le a sau ma tape lau talosaga - o lona uiga, o le a toe amata. O talosaga e le toe amataina e fa'atatau ile CPU. I tulaga o le PPU, afai e taumafai se talosaga e faʻaoga tele, sili atu nai lo le faʻamaonia i tapulaʻa, o le CPU o le a matua filifilia lava. E le taitai atu i le toe amataina. O le tapula'a lea - o le tapula'a pito i luga lea.

Ma o loo i ai se talosaga. O se talosaga o le auala e malamalama ai Kubernetes pe fa'afefea ona fa'atumuina nodes i lau kulupu Kubernetes i talosaga. O lona uiga, o se talosaga o se ituaiga o tautinoga o lau talosaga. Fai mai le mea ou te manaʻo e faʻaoga: "Ou te manaʻo e te faʻaagaga lenei tele PPU ma lenei tele manatua mo aʻu." O se tala faatusa faigofie. Ae faʻafefea pe a iai sa tatou node e iai, ou te le iloa, 8 CPU i le aofaʻi. Ma e taunuu mai se pusa iina, o ana talosaga e fai mai 1 PPU, o lona uiga o le node e 7 PPU o totoe. O lona uiga, e tusa ai, o le taimi lava e taunuu ai 8 pods i lenei node, e tofu i latou ma le 1 PPU ia latou talosaga, o le node, e peiseai mai le vaaiga a Kubernetes, ua leai se PPU ma sili atu pods ma talosaga e le mafai. fa'alauiloa i luga o lenei node. Afai e alu uma nodes mai le PPU, ona amata lea ona fai mai Kubernetes e leai ni nodes talafeagai i totonu o le fuifui e faʻafefe ai au pods ona ua uma le PPU.

Aisea e manaʻomia ai talosaga ma aisea e aunoa ma ni talosaga, ou te manatu e leai se manaʻoga e faʻalauiloa se mea i Kubernetes? Seʻi o tatou mafaufau i se tulaga faʻapitoa. E te fa'alauiloa lau talosaga e aunoa ma ni talosaga, e le iloa e Kubernetes le tele o mea o lo'o ia te oe, o a nodes e mafai ona e tuleia i ai. Ia, na te tuleia, tulei, tulei i luga o nodes. I se taimi, o le a amata ona e maua auala i lau talosaga. Ma o se tasi o talosaga e faʻafuaseʻi ona amata faʻaaogaina punaoa e oʻo atu i tapulaʻa o loʻo i ai e tusa ai ma tapulaʻa. E foliga mai o loʻo i ai se isi talosaga lata ane ma e manaʻomia foʻi punaoa. O le node e amata moni lava ona leai ni punaoa, mo se faʻataʻitaʻiga, OP. O le node ua amata ona leai ni punaoa, mo se faʻataʻitaʻiga, random access memory (RAM). A uma le mana o le node, muamua lava o le a taofi le tali mai a le docker, ona sosoo ai lea ma le cubelet, ona sosoo ai lea ma le OS. O le a latou le iloa ma o le a le toe galue mea uma mo oe. O lona uiga, o le a taʻitaʻia ai lau node e pipii ma e te manaʻomia le toe amataina. I se faapuupuuga, e le lelei tele le tulaga.

Ma a iai ni au talosaga, e le'o matua'i ese'ese le tapula'a, a itiiti mai e le tele ni taimi e sili atu nai lo tapula'a po'o talosaga, ona mafai lea ona e maua se fa'atumuga masani, fa'atumu fa'atatau o talosaga i nodes o fuifui Kubernetes. I le taimi lava e tasi, o Kubernetes o loʻo nofouta i le tele o mea e tuʻuina i fea, o le a le tele o mea e faʻaaogaina i fea. O lona uiga, ua na o sina taimi. E taua le malamalama i ai. Ma e taua le pulea e faʻaalia lenei mea.

Teuina o faamaumauga

O le isi a matou manatu e uiga i le teuina o faʻamaumauga. O le a le mea e fai ia i latou ma i se tulaga lautele, o le a le mea e fai i le faʻamalosi i Kubernetes?

Ou te toe manatu, i totonu o tatou Aoga Afiafi, sa i ai se autu e uiga i le database i Kubernetes. Ma e foliga mai ia te aʻu e tusa lava pe ou te iloa mea na taʻu atu e au uo ia te oe ina ua fesiligia: "E mafai ona faʻatautaia se faʻamaumauga i Kubernetes?" Mo nisi mafuaʻaga, e foliga mai ia te aʻu e tatau ona taʻu atu e au uo ia te oe afai o loʻo e fesiligia le fesili pe mafai ona faʻatautaia se database i Kubernetes, ona le mafai lea.

O le fa'atatau i'i e faigofie. I le tulaga lava, o le a ou toe faʻamatala atu, pe afai o oe o se tagata manaia tele e mafai ona fausia se faiga faʻapalepale faʻaletonu o le teuina o fesoʻotaʻiga tufatufaina, malamalama pe faʻafefea ona faʻaogaina se faʻamaumauga i lenei mataupu, pe faʻafefea ona galue le ao i totonu o pusa. i totonu o se database i le lautele. E foliga mai, e leai sau fesili pe fa'afefea ona fa'atino. Afai ei ai sau fesili faapena, ma e te manaʻo e faʻamautinoa o loʻo faʻaalia uma ma tu tonu i le oti i le gaosiga ma e le pa'ū, ona le tupu lea. E mautinoa e te fanaina oe lava i le vae i lenei auala. E sili la ona aua le faia.

O le a le mea e tatau ona tatou faia i faʻamaumauga e manaʻo e teuina e la tatou talosaga, o nisi o ata e faʻapipiʻiina e tagata faʻaoga, o nisi mea e faʻatupuina e la tatou talosaga i le taimi o lona gaioiga, i le amataga, mo se faʻataʻitaʻiga? O le a le mea e fai ia i latou i Kubernetes?

I se tulaga lautele, lelei, ioe, ioe, Kubernetes e matua lelei lava le mamanuina ma sa masani ona faʻavaeina mo talosaga e leai ni setete. O lona uiga, mo na talosaga e le teuina faʻamatalaga. E lelei lenei mea.

Ae, o le mea moni, o le filifiliga sili e le o iai i taimi uma. E a la e a la? O le mea muamua ma sili ona faigofie o le ave lea o se ituaiga S3, ae le o se mea e fai i le fale, lea e le o manino foi pe faʻapefea ona galue, ae mai se tasi e tuʻuina atu. Ose au'aunaga masani - ma a'oa'o lau tusi talosaga e fa'aoga le S3. O lona uiga, pe a manaʻo lou tagata faʻaoga e faʻapipiʻi se faila, fai mai "ii, faʻamolemole, lafo i le S3." A manaʻo o ia e maua, fai atu: "O le soʻotaga lenei i tua S3 ma ave mai iinei." E lelei lenei mea.

Afai faʻafuaseʻi ona o nisi mafuaʻaga e le talafeagai ai lenei filifiliga lelei, o loʻo i ai sau talosaga e te leʻi tusia, e te leʻi atiaʻe, pe o se ituaiga o talatuu mataʻutia, e le mafai ona faʻaogaina le S3 protocol, ae tatau ona galulue faʻatasi ma lisi faʻapitonuʻu i totonu. faila fa'apitonu'u . Ave se mea e sili atu pe itiiti ifo faigofie, faʻapipiʻi Kubernetes. O lona uiga, o le vave faʻafefe o Ceph mo ni nai galuega laiti, e foliga mai ia te aʻu, o se manatu leaga. Aua o Ceph, ioe, e lelei ma faʻalelei. Ae afai e te le malamalama lelei i le mea o loʻo e faia, o le taimi lava e te tuʻuina ai se mea i luga o Ceph, e mafai ona e faigofie tele ma e le toe alu ese mai ai. Aua, e pei ona e iloa, o loʻo teuina e Ceph faʻamaumauga i lona fuifui i le binary form, ae le o le faiga o faila faigofie. O le mea lea, afai e faʻafuaseʻi ona malepe le fuifui Ceph, ona i ai lea o le atoatoa ma maualuga le avanoa e te le toe maua ai au faʻamatalaga mai iina.

O le a matou faia se kosi i luga o Ceph, e mafai faamasani oe i le polokalame ma tuuina atu se talosaga.

O le mea lea, e sili atu le faia o se mea faigofie pei ole NFS server. E mafai e Kubernetes ona galulue faʻatasi ma i latou, e mafai ona e faʻapipiʻi se lisi i lalo ole NFS server - o lau talosaga e pei lava o se lisi faʻapitonuʻu. I le taimi lava e tasi, e masani lava, e tatau ona e malamalama i lena mea, toe, e tatau ona e faia se mea i lau NFS, e tatau ona e malamalama o nisi taimi e ono le mafai ona maua ma mafaufau i le fesili o le a e faia i lenei tulaga. Masalo e tatau ona lagolagoina i se mea i se masini ese.

O le isi itu na ou talanoa i ai o le mea e fai pe a fai o lau talosaga e gaosia ni faila i le taimi o le taotoga. Mo se faʻataʻitaʻiga, pe a amata, e faʻatupuina ai se faila faila, lea e faʻavae i luga o nisi faʻamatalaga e maua e le talosaga i le taimi o le faʻalauiloaina. Oka se taimi. Afai e le tele ni faʻamatalaga, e te le tau faʻalavelave uma, naʻo le faʻapipiʻiina o lenei talosaga mo oe lava ma galue. Pau lava le fesili iinei o le a, vaai. O le tele o taimi, o ituaiga uma o faiga faʻaleaganuʻu, e pei o le WordPress ma isi, aemaise lava i le faʻaleleia o nisi ituaiga o faʻapipiʻi atamai, tagata faʻapitoa PHP, latou te masani ona iloa le auala e fai ai ina ia latou gaosia se ituaiga faila mo i latou lava. E tusa ai, o le tasi e gaosia se faila e tasi, o le lona lua e gaosia ai se faila lona lua. E eseese i latou. Fa'apaleni e fa'afuase'i ona tupu ile fa'aputuga Kubernetes a tagata fa'atau. E tusa ai, e foliga mai latou te le iloa pe faapefea ona galulue faʻatasi i se faʻataʻitaʻiga. O le tasi e tuʻuina atu le tasi faʻamatalaga, o le isi e tuʻuina atu i le tagata faʻaoga se isi faʻamatalaga. O le mea lea e tatau ona e aloese ai. O lona uiga, i Kubernetes, o mea uma e te faʻalauiloaina e mautinoa e mafai ona galue i le tele o taimi. Aua o le Kubernetes o se mea fa'agaeetia. E tusa ai, e mafai ona ia gaoioi soo se mea, i soo se taimi e manaʻo ai, e aunoa ma le fesili atu i se tasi. O le mea lea, e tatau ona e faʻamoemoe i lenei mea. O mea uma e fa'alauiloa i se fa'ata'ita'iga o le a vave pe mulimuli ane e fa'aletonu. O le tele o lau fa'aagaga, o le sili atu lea. Ae ou te toe fai atu, afai e i ai ni nai faila faapena, e mafai ona e tuu tonu i lalo o oe, e laititi le mamafa. Afai e tele naua, masalo e le tatau ona e tuleia i totonu o le koneteina.

Ou te fautua atu o loʻo i ai se mea matagofie i Kubernetes, e mafai ona e faʻaogaina le voluma. Aemaise lava, o loʻo i ai se voluma o le ituaiga gaogao dir. O lona uiga, e na'o le Kubernetes o le a otometi lava ona fatuina se fa'atonuga i ana lisi o auaunaga i luga o le 'au'aunaga na e amata ai. Ma o le a ia tuuina atu ia te oe ina ia mafai ona e faaaogaina. E tasi lava le itu taua. O lona uiga, o au faʻamatalaga o le a le teuina i totonu o le atigipusa, ae i luga o le talimalo o loʻo e tamoe ai. E le gata i lea, e mafai e Kubernetes ona pulea ia mea gaogao i lalo o le faatulagaga masani ma e mafai ona pulea lo latou maualuga maualuga ma le faatagaina e sili atu. Pau lava le manatu o le mea na e tusia i le avanoa avanoa e le o leiloa i le taimi o le toe amataina o pod. O lona uiga, afai e pa'ū sese lau pod ma toe tulaʻi, o le faʻamatalaga i totonu o le dir gaogao o le a le alu i se mea. E mafai ona ia toe faʻaaogaina i se amataga fou - ma e lelei. Afai e alu lau pod i se mea, e masani lava o le a alu ese e aunoa ma se faʻamatalaga. O lona uiga, o le taimi lava e mou atu ai le pod mai le node lea na faʻalauiloa ai ma le gaogao dir, e leai se mea e tape ai.

O le a se isi mea lelei e uiga i le gaogao dir? Mo se faʻataʻitaʻiga, e mafai ona faʻaaogaina e avea o se cache. Sei o tatou mafaufau o la tatou talosaga e gaosia se mea i luga o le lele, tuʻuina atu i tagata faʻaoga, ma faia mo se taimi umi. O le mea lea, o le talosaga, mo se faʻataʻitaʻiga, faʻatupuina ma tuʻuina atu i tagata faʻaoga, ma i le taimi lava e tasi e teuina i se mea, ina ia oʻo i le isi taimi e sau ai le tagata faʻaoga mo le mea lava e tasi, o le a sili atu le vave ona tuʻuina atu vave faʻatupuina. E mafai ona talosagaina le dir gaogao i Kubernetes e fatu i le manatua. Ma o lea, e masani lava ona galue au pupuni i le saosaoa o le uila - e tusa ai ma le saoasaoa o le avanoa o le tisiki. O lona uiga, o loʻo i ai sau dir gaogao i le mafaufau, i le OS o loʻo teuina i le manatua, ae mo oe, mo le tagata faʻaoga i totonu o le pod, e foliga mai na o se lisi faʻapitonuʻu. E te le manaʻomia le app e aʻoaʻo faapitoa ai soʻo se togafiti. Na'o lou ave sa'o ma tu'u lau faila i totonu o se lisi, ae o le mea moni, i le manatua ile OS. Ole mea foi lea e faigofie tele ile tulaga ole Kubernetes.

O a fa'afitauli o lo'o iai Minio? Ole fa'afitauli autu ile Minio ole fa'apea ina ia mafai ona galue lenei mea, e mana'omia le tamo'e i se mea, ma e tatau ona i ai se ituaiga faila faila, o lona uiga, teuina. Ma o iinei tatou te feagai ai ma faafitauli lava e tasi o loʻo i ai ia Ceph. O lona uiga, e tatau ona teuina e Minio ana faila i se mea. E na'o se HTTP interface i au faila. E le gata i lea, o le gaioiga e manino lava e sili atu le mativa nai lo le Amazon's S3. I le taimi muamua, sa le mafai ona faʻatagaina lelei le tagata faʻaoga. I le taimi nei, e pei ona ou iloa, e mafai ona ia faia ni pakete ma faʻatagaina eseese, ae toe fai mai, e foliga mai ia te aʻu o le faʻafitauli autu, o le mea lea, o le faʻaogaina o le teuina o mea i lalo ifo.

E fa'afefea ona a'afia tapula'a e le Empty dir in memory? E le afaina ai tapulaa i soo se auala. E taoto i le manatua o le talimalo, ae le o le manatua o lau pusa. O lona uiga, e le o va'aia e lau koneteina le dir gaogao i le manatua o se vaega o lona manatua. Ua iloa e le tagata talimalo lenei mea. E tusa ai, ioe, mai le vaaiga a kubernetes, pe a amata ona e faʻaaogaina lenei mea, e lelei le malamalama o loʻo e tuʻuina atu se vaega o lou mafaufau e faʻamalo ai le dir. Ma e tusa ai, ia malamalama o le manatua e mafai ona faʻaumatia e le gata ona o talosaga, ae faʻapea foi ona o se tasi e tusi i nei tusi gaogao.

Cloudnativeness

Ma o le subtopic mulimuli o le mea lea o le Cloudnative. Aisea e manaomia ai? Cloudnativeness ma isi.

O lona uiga, o na talosaga e mafai ma tusia ina ia mafai ona galue i totonu o le ao faʻaonaponei atinaʻe. Ae, o le mea moni, Cloudnative ei ai se isi itu. O lenei mea e le gata o se talosaga e amanaʻia ai manaʻoga uma o se atinaʻe ao faʻaonaponei, ae iloa foi pe faʻafefea ona galue ma lenei faʻaonaponei ao faʻaoga, faʻaoga lelei ma le le lelei o le mea moni e galue i nei ao. Aua le na o le alu i luga o le sami ma galue i ao, ae faʻaaoga lelei le aoga o le galue i le ao.

Manaoga mo le fausiaina o se talosaga ile Kubernetes

Sei o tatou ave Kubernetes o se faʻataʻitaʻiga. O lo'o fa'agasolo lau talosaga ile Kubernetes. O lau talosaga e mafai i taimi uma, po'o le au fa'atonu mo lau talosaga, e mafai ona faia i taimi uma se teugatupe o auaunaga. O lona uiga, o se tala mo le faʻatagaina i Kubernetes lava ia i lana 'auʻaunaga. Faaopoopo nisi aia tatau tatou te manaomia iina. Ma e mafai ona e mauaina Kubernetes mai totonu o lau talosaga. O le a se mea e mafai ona e faia i lenei auala? Mo se faʻataʻitaʻiga, mai le talosaga, maua faʻamatalaga e uiga i mea o loʻo i ai isi au tusi talosaga, isi mea faʻapena, ma faʻatasi i luga o le Kubernetes, pe a iai se manaʻoga.

Toe foi, na i ai lava se matou mataupu talu ai nei. E tasi le matou pule e mata'ituina le laina. Ma a aliali mai nisi galuega fou i lenei laina, e alu i Kubernetes - ma totonu o Kubernetes e fausia ai se pusa fou. Tuuina atu i lenei pod se galuega fou ma i totonu o le auivi o lenei pod, o le pod e faia le galuega, auina atu se tali i le pule lava ia, ona faia lea e le pule se mea i lenei faʻamatalaga. Mo se faʻataʻitaʻiga, e faʻaopoopoina se faʻamaumauga. O lona uiga, toe, o se faʻaopoopoga lenei o le mea moni o la matou talosaga e tamoʻe i Kubernetes. E mafai ona matou fa'aogaina le fa'aogaina o le Kubernetes lava ia ina ia fa'alautele ma fa'afaigofie le fa'atinoga o la matou talosaga. O lona uiga, aua le natia se ituaiga togafiti e uiga i le faʻalauiloaina o se talosaga, faʻafefea ona faʻalauiloa se tagata faigaluega. I totonu o Kubernetes, e te lafoina se talosaga i totonu o le app pe a fai o le tusi talosaga e tusia i le Python.

E faʻaaoga foi pe a tatou o atu i tua atu o Kubernetes. E iai a matou Kubernetes o loʻo tamoʻe i se mea - e lelei pe a iai i se ituaiga ao. Ma toe, e mafai ona tatou faʻaogaina, ma e tatau foʻi, ou te talitonu, faʻaaoga le gafatia o le ao lava ia o loʻo tatou tamoe ai. Mai mea faavae ua saunia e le ao ia i tatou. Paleni, o lona uiga, e mafai ona tatou faia ni paleni o ao ma faʻaaogaina. O se avanoa tuusaʻo lea o mea e mafai ona tatou faʻaogaina. Talu ai o le paleni o ao, muamua, naʻo le faʻavalevalea e aveese le tiute mai ia i matou mo le auala e galue ai, pe faʻafefea ona faʻatulagaina. E sili atu le faigofie, aua o Kubernetes masani e mafai ona faʻatasi ma ao.

E fa'apea fo'i mo le fa'avasegaina. Kubernetes masani e mafai ona tu'ufa'atasia ma 'au'aunaga ao. Iloa pe faapefea ona malamalama afai e alu ese le fuifui mai nodes, o lona uiga, ua uma le avanoa o le node, ona e manaʻomia lea e faʻaopoopo - Kubernetes lava ia o le a faʻaopoopoina ni nodes fou i lau fuifui ma amata faʻalauiloa pods ia i latou. O lona uiga, a oʻo mai lau uta, e amata ona faʻateleina le numera o afi. A uma le nodes i le fuifui mo nei pods, e fa'alauiloa e Kubernetes ni nodes fou ma, e tusa ai, e mafai lava ona fa'ateleina le numera o pods. Ma e matua faigofie lava. Ose avanoa tuusa'o lea e fua ai le fuifui i luga ole lele. E le vave tele, i le uiga e le o se lona lua, e sili atu i le minute e faʻaopoopo ai nodes fou.

Ae mai loʻu poto masani, toe, o le mea sili ona manaia ua ou vaai i ai. Pe a fua le fuifui Cloudnative e fua ile taimi ole aso. O se auaunaga pito i tua na faʻaaogaina e tagata i le ofisa i tua. O lona uiga, latou te o mai e galulue i le 9 i le taeao, amata ona ulufale i totonu o le polokalama, ma e tusa ai, o le Cloudnative cluster, lea o loʻo taʻavale uma ai, amata ona fulafula, faʻalauiloa fou pods ina ia mafai e tagata uma e sau e faigaluega ona galulue ma le talosaga. A latou tuua galuega i le 8 i le afiafi po o le 6 i le afiafi, e matauina e le Kubernetes fuifui e leai se tasi o toe faʻaaogaina le talosaga ma amata ona faʻaitiitia. Fa'asao e o'o atu i le 30 pasene e fa'amaonia. Na galue i Amazon i lena taimi i lena taimi e leai se tasi i Rusia e mafai ona faia lelei.

O le a ou taʻu saʻo atu ia te oe, o tupe teu e 30 pasene ona o loʻo matou faʻaogaina Kubernetes ma faʻaoga lelei le gafatia o le ao. I le taimi nei e mafai ona faia lenei mea i Rusia. O le a ou le faʻasalalau i soʻo se tasi, ioe, ae seʻi tatou fai atu o loʻo i ai tagata e tuʻuina atu e mafai ona faia lenei mea, tuʻuina saʻo mai le pusa ma se faʻamau.

E i ai le isi vaega mulimuli ou te fia tosina atu i ai lou mafaufau. Ina ia mafai ona avea lau talosaga, o au atinaʻe e avea ma Cloudnative, e talafeagai le amata faʻafeiloaʻi o le auala e taʻua o Infrastructure as a Code, o lona uiga o lau talosaga, poʻo lau atinaʻe, e manaʻomia i le auala tutusa code Fa'amatala lau talosaga, lau pisinisi fa'atatau ile faiga ole code. Ma galue faʻatasi e fai ma code, o lona uiga, faʻataʻitaʻi, taʻavale i fafo, teu i le git, faʻaoga CICD i ai.

Ma o le mea tonu lava lea e mafai ai e oe, muamua, ia pulea i taimi uma au atinaʻe, ia malamalama i taimi uma pe o le a le tulaga o loʻo i ai. Lona lua, aloese mai le fa'agaioiga tusilima e mafua ai mea sese. Tolu, aloese mai le na o le mea e taʻua o le liliu, pe a e manaʻomia i taimi uma le faʻatinoina o galuega faʻapitoa. Lona fa, e mafai ai ona e toe faʻaleleia vave pe a tupu se faʻaletonu. I Rusia, o taimi uma lava ou te talanoa ai e uiga i lenei mea, o loʻo i ai pea le toʻatele o tagata e fai mai: "Ioe, e manino, ae o loʻo i ai au auala, i se faapuupuuga, e leai se mea e manaʻomia e faʻaleleia ai se mea." Ae e moni. Afai ei ai se mea ua malepelepe i au atinaʻe, ona mai lea i le vaaiga o le Cloudnative approach ma mai le vaaiga o Infrastructure as a Code, nai lo le toe faʻaleleia, alu i le server, suʻesuʻe le mea ua malepe ma toe faʻaleleia, e faigofie. e tape le server ma toe faia. Ma o le a ou toe maua uma nei mea.

O nei mataupu uma o loʻo talanoaina atili i le Kubernetes video courses: Junior, Basic, Mega. I le mulimuli i le so'oga e mafai ona e fa'amasani i le polokalame ma tulaga. O le mea faigofie e mafai ona e aʻoaʻoina Kubernetes e ala i le suʻesuʻe mai le fale poʻo le galuega mo le 1-2 itula i le aso.

puna: www.habr.com

Faaopoopo i ai se faamatalaga