O le masini Helm ma ona mailei

O le masini Helm ma ona mailei
Manatu o le la'u uta uta, Anton Swanepoel

O loʻu igoa o Dmitry Sugrobov, o aʻu o se atinaʻe i Leroy Merlin. I lenei tusiga o le a ou taʻuina atu ia te oe pe aisea e manaʻomia ai Helm, faʻafefea ona faʻafaigofie le galue ma Kubernetes, o le a le mea ua suia i le lona tolu, ma le faʻaogaina e faʻafouina ai talosaga i le gaosiga e aunoa ma le taʻaloga.

O se aotelega lea e faavae i se lauga i se fonotaga @Kubernetes Conference by Mail.ru Cloud Solutions - afai e te le manaʻo e faitau, matamata le vitio.

Aisea tatou te faʻaogaina ai Kubernetes i le gaosiga

Leroy Merlin o se taʻitaʻi i le DIY maketi maketi i Rusia ma Europa. O la matou kamupani e sili atu ma le selau tagata atinaʻe, 33 tagata faigaluega i totonu ma le tele o tagata asiasi i hypermarkets ma le upega tafaʻilagi. Ina ia faʻafiafiaina i latou uma, na matou filifili e mulimuli i auala faʻapitoa tau pisinisi. Atia'e ni fa'aoga fou e fa'aoga ai fa'ata'ita'iga microservice; fa'aoga pusa e fa'aesea ai si'osi'omaga ma fa'amautinoa lelei le tu'uina atu; ma fa'aoga Kubernetes mo fa'asologa. O le tau o le faʻaaogaina o faʻaupuga ua vave ona taugofie: o le numera o inisinia tomai i tekinolosi o loʻo faʻatupulaia i luga o le maketi, ma o loʻo faʻaalia e le au tuʻuina atu le Kubernetes o se auaunaga.

O mea uma lava e faia e Kubernetes, ioe, e mafai ona faia i isi auala, mo se faʻataʻitaʻiga, e ala i le ufiufi o nisi Jenkins ma docker-tusi ma tusitusiga, ae aisea e faʻalavelave ai le olaga pe afai o loʻo i ai se fofo saunia ma faʻatuatuaina? O le mea lena na matou o mai ai i Kubernetes ma faʻaaogaina i le gaosiga mo le tausaga nei. E luasefulufa a matou fuifui Kubernetes i le taimi nei, o le pito matua e sili atu ma le tausaga, pe a ma le lua selau pods.

Le fetuu o faila YAML tetele i Kubernetes

Ina ia faʻalauiloa se microservice i Kubernetes, matou te fatuina a itiiti ifo ma le lima faila YAML: mo le Faʻatulagaina, Auaunaga, Ingress, ConfigMap, Secrets - ma lafo i latou i le fuifui. Mo le isi talosaga o le a matou tusia le afifi tutusa o jambs, faatasi ai ma le lona tolu o le a matou tusia le isi, ma isi. Afai tatou te faʻateleina le numera o pepa i le numera o siʻosiʻomaga, ua uma ona tatou mauaina le faitau selau o faila, ma e leʻi amanaʻia ai le siosiomaga faʻamalosi.

O le masini Helm ma ona mailei
Adam Reese, tausi autu o Helm, na faʻalauiloaina le manatu o "Ta'amilosaga Atina'e i Kubernetes", e pei o lenei:

  1. Kopi YAML - kopi se faila YAML.
  2. Fa'amau le YAML - fa'apipi'i.
  3. Fix Indents - fa'amautu fa'amau.
  4. Toe fai - toe fai.

E aoga le filifiliga, ae e tatau ona e kopiina faila YAML i le tele o taimi. Ina ia suia lenei taamilosaga, na faia ai le Helm.

O le a le Helm

Muamua, Helm - pule paketi, lea e fesoasoani ia te oe e suʻe ma faʻapipiʻi polokalame e te manaʻomia. Ina ia faʻapipiʻi, mo se faʻataʻitaʻiga, MongoDB, e te le manaʻomia le alu i le upega tafaʻilagi aloaia ma download binaries, naʻo le taʻavale le poloaiga helm install stable/mongodb.

Lona lua, Helm - afi fa'ata'ita'i, fesoasoani e faʻavasega faila. Sei o tatou toe foʻi i le tulaga i faila YAML i Kubernetes. E sili atu ona faigofie le tusia o le faila YAML tutusa, faʻaopoopo i ai ni mea e tuʻu i ai, lea o le a suia ai e Helm ia tau. O lona uiga, nai lo se seti tele o fatafaitaulaga, o le ai ai se seti o faʻataʻitaʻiga lea o le a suia ai tau manaʻomia i le taimi tatau.

Lona tolu, Helm - deployment master. Faatasi ai ma ia e mafai ona e faʻapipiʻi, toe faʻafoʻi ma faʻafouina talosaga. Se'i tatou va'ai pe fa'apefea ona fai lenei mea.

O le masini Helm ma ona mailei

Fa'afefea ona fa'aoga Helm e fa'atino ai au lava talosaga

Se'i fa'apipi'i le kalani Helm i lau komepiuta, mulimuli i le fa'atonuga faatonuga. Le isi, matou te fatuina se seti o faila YAML. Nai lo le faʻamaonia o tulaga taua, o le a matou tuʻuina nofoaga, lea o le a faʻatumu e Helm i faʻamatalaga i le lumanaʻi. O se seti o ia faila e ta'ua o le siata Helm. E mafai ona lafo i le tagata fa'amafanafana Helm i ni auala se tolu:

  • fa'ailoa se fa'ailoga ma fa'ata'ita'iga;
  • teu le fa'amaumauga i totonu o se .tar ma tusi i ai;
  • tu'u le fa'ata'ita'iga i se fale teuoloa mamao ma fa'aopoopo se so'otaga i le faleteuoloa i le kalani Helm.

E te manaʻomia foʻi se faila ma mea taua - values.yaml. O faʻamatalaga mai iina o le a tuʻuina i totonu o le mamanu. Tatou fatuina foi.

O le masini Helm ma ona mailei
O le lomiga lona lua o Helm o loʻo i ai se faʻaoga faʻapipiʻi faʻapipiʻi - Tiller. E tautau i fafo o Kubernetes ma faʻatali mo talosaga mai le tagata faʻatau Helm, ma a valaʻau, sui tulaga manaʻomia i totonu o le mamanu ma lafo i Kubernetes.

O le masini Helm ma ona mailei
O le Helm 3 e sili atu ona faigofie: nai lo le faʻaogaina o faʻataʻitaʻiga i luga o le 'auʻaunaga, o faʻamatalaga o loʻo faʻagasolo atoa i le itu o le Helm client ma lafo saʻo i le Kubernetes API. O lenei fa'afaigofieina e fa'aleleia atili ai le puipuiga malu ma fa'afaigofie ai le fa'agasolo atu o polokalame.

E faapefea ona aoga uma

Fai le poloaiga helm install. Se'i ta'u mai le igoa o le fa'asalalauga talosaga ma tu'u atu le ala i values.yaml. I le faaiuga o le a matou faʻaalia le faleoloa o loʻo i ai le siata ma le igoa o le siata. I le faʻataʻitaʻiga, o le "lmru" ma le "bestchart", i le faasologa.

helm install --name bestapp --values values.yaml lmru/bestchart

E na'o le tasi le fa'atonuga, pe a toe fa'atino install mana'omia le fa'aaogaina upgrade. Mo le faigofie, nai lo le lua poloaiga, e mafai ona e faʻatautaia le poloaiga upgrade fa'atasi ai ma ki fa'aopoopo --install. Pe a faʻataunuʻuina mo le taimi muamua, o le a tuʻuina atu e Helm se faʻatonuga e faʻapipiʻi le tatalaina, ma o le a faʻafouina i le lumanaʻi.

helm upgrade --install bestapp --values values.yaml lmru/bestchart

Mailei o le fa'aogaina o lomiga fou o se talosaga ma Helm

I le taimi nei o le tala, o loʻo ou taʻalo Who Wants to Be a Millionaire ma le aofia, ma o loʻo matou mafaufau pe faʻafefea ona maua e Helm e faʻafouina le faʻasologa o le app. Maimoa le vitio.

A o ou aʻoaʻoina le auala e galue ai Helm, sa ou teʻi i uiga uiga ese pe a ou taumafai e faʻafou faʻasologa o talosaga faʻaogaina. Na ou faʻafouina le numera o talosaga, faʻapipiʻi se ata fou i le Docker resitara, auina atu le faʻatonuga faʻatonu - ma e leai se mea na tupu. O lo'o i lalo nisi o auala e le'o manuia atoatoa e fa'afou ai talosaga. E ala i le suʻesuʻeina o ia mea taʻitasi i auiliiliga, e amata ona e malamalama i le fausaga o totonu o le meafaigaluega ma mafuaʻaga mo lenei amioga le manino.

Metotia 1. Aua le suia faʻamatalaga talu mai le faʻalauiloaina mulimuli

E pei ona fai mai faʻapitonuʻu aloaia Helm, "O siata Kubernetes e mafai ona lapopoa ma lavelave, o lea e taumafai ai Helm e aua le paʻi tele i se mea." O le mea lea, afai e te faʻafouina le faʻamatalaga lata mai o le ata talosaga i le resitala o le docker ma faʻatautaia le poloaiga helm upgrade, ona leai lea o se mea e tupu. O le a manatu Helm e leai se mea ua suia ma e leai se manaʻoga e tuʻuina atu se faʻatonuga i Kubernetes e faʻafouina le talosaga.

O iinei ma lalo ifo, o le pine fou o loʻo faʻaalia naʻo se faʻataʻitaʻiga. A e faʻamaʻoti lenei pine, o le a sii mai e Kubernetes le ata mai le faila faila i taimi uma, e tusa lava po o le a le imagePullPolicy parameter. O le fa'aaogaina o mea fou i le gaosiga e le mana'omia ma mafua ai a'afiaga.

Metotia 2. Fa'afouina LABEL ile ata

E pei ona tusia i le mea lava e tasi fa'amaumauga, "E na'o le fa'afouga fo'i o se talosaga pe a suia talu mai le fa'asalalauga mulimuli." O se filifiliga talafeagai mo lenei mea e foliga mai o le faʻafouina o le LABEL i le ata o le docker lava ia. Ae ui i lea, e le tilotilo Helm i ata talosaga ma e leai sona manatu e uiga i soʻo se suiga ia i latou. E tusa ai, pe a faʻafouina igoa i le ata, o le a le iloa e Helm e uiga ia i latou, ma o le a le auina atu le poloaiga faʻafouina o talosaga i Kubernetes.

Metotia 3: Fa'aaoga se ki --force

O le masini Helm ma ona mailei
Sei o tatou su'e i tusi lesona ma vaavaai mo le ki e manaomia. O le ki e sili ona aoga --force. E ui lava i le igoa manino, o le amio e ese mai le faʻamoemoeina. Nai lo le faʻamalosia o se faʻafouga o talosaga, o lona faʻamoemoe moni o le toe faʻafoʻisia o se faʻamalolo o loʻo i le tulaga FAILED. Afai e te le faʻaogaina lenei ki, e tatau ona e faʻatinoina faʻatonuga faʻasolosolo helm delete && helm install --replace. E fautuaina e fa'aoga le ki --force, lea e fa'autometi ai le fa'atinoina o nei fa'atonuga. Fa'amatalaga atili i lenei toso talosaga. Ina ia taʻu atu ia Helm e faʻafou le faʻasologa o talosaga, o le mea e leaga ai, e le aoga lenei ki.

Metotia 4. Suia fa'ailoga sa'o ile Kubernetes

O le masini Helm ma ona mailei
Fa'afou fa'ailoga sa'o i totonu o le fuifui e fa'aaoga ai le fa'atonuga kubectl edit - manatu leaga. O lenei gaioiga o le a taʻitaʻia ai le le ogatasi o faʻamatalaga i le va o le faʻaogaina o le talosaga ma le mea na muamua auina atu mo le faʻapipiʻiina. O le amio a le Helm i le taimi o le faʻapipiʻiina i lenei tulaga e ese mai lona faʻasologa: Helm 2 o le a le faia se mea, ma Helm 3 o le a faʻapipiʻiina le lomiga fou o le talosaga. Ina ia malamalama pe aisea, e tatau ona e malamalama i le auala e galue ai Helm.

E fa'afefea ona galue Helm?

Ina ia iloa pe ua suia se talosaga talu mai lona faʻasalalauga mulimuli, e mafai e Helm ona faʻaoga:

  • fa'aogaina le talosaga ile Kubernetes;
  • tau fou.yaml ma le siata o iai nei;
  • Fa'amatalaga tu'u i totonu o Helm.

Mo le fia iloa atili: o fea e teu ai Helm faʻamatalaga i totonu e uiga i faʻasalalauga?E ala i le faatinoina o le poloaiga helm history, o le a matou maua uma faʻamatalaga e uiga i lomiga faʻapipiʻiina e faʻaaoga ai Helm.

O le masini Helm ma ona mailei
O lo'o iai fo'i fa'amatalaga au'ili'ili e uiga i fa'ata'ita'iga lafo ma fa'atauga. E mafai ona matou talosagaina:

O le masini Helm ma ona mailei
I le lomiga lona lua o Helm, o lenei faʻamatalaga o loʻo i totonu o le igoa e tasi o loʻo taʻavale ai Tiller (kube-system by default), i le ConfigMap, makaina i le igoa "OWNER=TILLER":

O le masini Helm ma ona mailei
Ina ua aliali mai le lomiga lona tolu o Helm, o le faʻamatalaga na siitia i mea lilo, ma i le igoa lava lea e tasi o loʻo faʻaogaina ai le talosaga. Faʻafetai i lenei mea, na mafai ai ona faʻatautaia le tele o talosaga i le taimi e tasi i igoa eseese ma le igoa tuʻu tutusa. I le lomiga lona lua, ose tiga tiga pe a tu'u'ese igoa avanoa ae mafai ona a'afia ai le isi.

O le masini Helm ma ona mailei

O le Helm lona lua, pe a taumafai e malamalama pe manaʻomia se faʻafouga, e naʻo le lua faʻamatalaga o faʻamatalaga: mea o loʻo tuʻuina atu i ai nei, ma faʻamatalaga i totonu e uiga i faʻasalalauga, o loʻo taoto i le ConfigMap.

O le masini Helm ma ona mailei
O le Helm lona tolu o loʻo faʻaaogaina se taʻiala tuʻufaʻatasiga e tolu-auala: faʻaopoopo i lena faʻamatalaga, e faʻaaogaina foi le talosaga o loʻo faʻagasolo nei i Kubernetes.

O le masini Helm ma ona mailei
Mo lenei mafuaʻaga, o le lomiga tuai o Helm o le a le faia se mea, talu ai e le amanaʻia faʻamatalaga talosaga i totonu o le fuifui, ae o le Helm 3 o le a maua suiga ma auina atu le talosaga fou mo le faʻapipiʻiina.

Metotia 5. Fa'aaoga le --recreate-pods ki

Faatasi ai ma se ki --recreate-pods e mafai ona e ausia le mea na e muai fuafuaina e ausia i le ki --force. O koneteina o le a toe amata ma, e tusa ai ma le imagePullPolicy: Faiga faʻavae i taimi uma mo le pine fou (sili atu i lenei mea i le vaefaamatalaga i luga), o le a sii mai e Kubernetes ma faʻalauiloa se ata fou o le ata. O le a le faia lenei mea i le auala sili: e aunoa ma le amanaia o le StrategyType of deployment, o le a faʻafuaseʻi ona tape uma faʻaoga tuai ma amata faʻalauiloa mea fou. I le taimi o le toe amataina, o le a le galue le faiga, o le a mafatia tagata faʻaoga.

I Kubernetes lava ia, o se faʻafitauli faʻapena foi na i ai mo se taimi umi. Ma o lenei, 4 tausaga talu ona tatala iʻuga, ua uma ona faʻaleleia le faʻafitauli, ma amata i le version 1.15 o Kubernetes, o le mafai ona toe taʻavale pods ua aliali mai.

E na'o le tapeina e Helm talosaga uma ma fa'alauiloa ni koneteina fou lata ane. E le mafai ona e faia lenei mea i le gaosiga, ina ia le mafua ai le faʻaogaina o le taimi ole talosaga. E na'o le mana'omia lea mo mana'oga fa'atupuina ma e na'o si'osi'omaga e mafai ona fa'atino.

E fa'afefea ona fa'afou le fa'asologa o talosaga e fa'aaoga ai le Helm?

O le a matou suia tulaga taua na lafoina i Helm. E masani lava, o tau ia e suitulaga i le faʻailoga ata. I le tulaga lata mai, lea e masani ona faʻaaogaina mo siosiomaga le aoga, o le suiga o faʻamatalaga o se faʻamatalaga, lea e le aoga mo Kubernetes lava ia, ma mo Helm o le a avea o se faʻailoga mo le manaʻoga e faʻafouina le talosaga. Filifiliga mo le fa'atumuina o le tau fa'amatalaga:

  1. Tau fa'afuase'i fa'aaogaina le galuega masani- {{ randAlphaNum 6 }}.
    O loʻo i ai se faʻatagaga: a maeʻa faʻapipiʻi taʻitasi e faʻaaoga ai se siata ma sea fesuiaiga, o le faʻamatalaga faʻamatalaga o le a tulaga ese, ma o le a manatu Helm e iai suiga. E foliga mai o le a matou toe amataina le talosaga, e tusa lava pe matou te leʻi suia lona faʻasologa. E le taua tele lenei mea, talu ai o le a leai se taimi malolo, ae e le fiafia pea.
  2. Fa'apipi'i le taimi nei aso ma le taimi - {{ .Release.Date }}.
    O se fesuiaiga e talitutusa ma se tau faʻafuaseʻi ma se fesuiaiga tumau tulaga ese.
  3. O se auala sili atu ona saʻo o le faʻaaogaina siaki tupe. O le SHA lea o le ata poʻo le SHA o le mea mulimuli i le git - {{ .Values.sha }}.
    E mana'omia ona faitau ma lafo i le tagata o tausia Helm i le itu vala'au, mo se fa'ata'ita'iga i Jenkins. Afai ua suia le talosaga, ona suia lea o le siaki tupe. O le mea lea, o le a faʻafouina e Helm le talosaga pe a manaʻomia.

Sei o tatou otootoina a tatou taumafaiga

  • E faia e Helm ni suiga i se auala e sili ona leaga, o lona uiga o soʻo se suiga i le tulaga o le ata talosaga i le Docker Registry o le a le maua ai se faʻafouga: e leai se mea e tupu pe a maeʻa le poloaiga.
  • Ki --force fa'aaoga e toe fa'afo'i fa'afitauli fa'alilolilo ma e le o feso'ota'i ma fa'afouga fa'amalosia.
  • Ki --recreate-pods o le a fa'afouina fa'afou talosaga, ae o le a faia i se auala fa'aleagaina: o le a fa'afuase'i ona tape uma pusa. O le a mafatia tagata faʻaoga mai lenei mea; e le tatau ona e faia lenei mea i le gaosiga.
  • Faia sa'o suiga ile vaega Kubernetes e fa'aaoga ai le fa'atonuga kubectl edit aua: o le a tatou solia le tumau, ma o le a ese le amio e faalagolago i le lomiga o Helm.
  • Faatasi ai ma le tatalaina o le lomiga fou o Helm, e tele nuances ua aliali mai. O fa'afitauli i le faleteuoloa Helm o lo'o fa'amatalaina i le gagana manino, latou te fesoasoani ia te oe e malamalama ai i fa'amatalaga.
  • O le fa'aopoopoina o se fa'amatalaga e mafai ona fa'asa'o ile siata o le a sili atu ona fetu'una'i. Ole mea lea ole a fa'atagaina oe e fa'asolo sa'o le talosaga, e aunoa ma se taimi fa'aletonu.

O se manatu "filemu i le lalolagi" e aoga i vaega uma o le olaga: faitau faatonuga aʻo leʻi faʻaaogaina, ae le o le maeʻa. E naʻo faʻamatalaga atoatoa o le a mafai ai ona fausia ni faiga faʻalagolago ma faʻafiafia tagata faʻaoga.

Isi so'oga fa'atatau:

  1. Fa'amasani pūlou faʻafao 3
  2. Helm upegatafa'ilagi aloaia
  3. Fale teu oloa ile GitHub
  4. 25 Meafaigaluega aoga Kubernetes: Fa'asoa ma Pulega

O lenei lipoti na muamua tuuina atu i @Kubernetes Conference e Mail.ru Cloud Solutions. Vaai видео isi faʻaaliga ma faʻasoa i faʻasalalauga faʻasalalauga i luga ole Telegram Si'osi'o Kubernetes ile Mail.ru Group.

puna: www.habr.com

Faaopoopo i ai se faamatalaga