Leroy Merlin ndi mtsogoleri pamsika wogulitsa DIY ku Russia ndi Europe. Kampani yathu ili ndi otukula opitilira zana, ogwira ntchito mkati 33 komanso anthu ambiri omwe amayendera ma hypermarkets ndi tsamba lawebusayiti. Pofuna kuti onse asangalale, tinaganiza zotsatira njira zoyendetsera makampani. Pangani mapulogalamu atsopano pogwiritsa ntchito zomangamanga za microservice; gwiritsani ntchito zotengera kuti mulekanitse malo ndikuwonetsetsa kutumizidwa koyenera; ndikugwiritsa ntchito Kubernetes poyimba. Mtengo wogwiritsa ntchito oimba nyimbo umakhala wotsika mtengo kwambiri: chiwerengero cha akatswiri odziwa bwino ukadaulo chikukula pamsika, ndipo opereka chithandizo akuwoneka akupereka Kubernetes ngati ntchito.
Chilichonse chimene Kubernetes amachita, ndithudi, chikhoza kuchitika mwa njira zina, mwachitsanzo, pophimba Jenkins ena ndi docker-compose ndi zolemba, koma bwanji kusokoneza moyo ngati pali yankho lokonzekera ndi lodalirika? Ichi ndichifukwa chake tidabwera ku Kubernetes ndipo takhala tikuigwiritsa ntchito popanga kwa chaka tsopano. Pakali pano tili ndi magulu makumi awiri ndi anayi a Kubernetes, akale kwambiri omwe ali ndi zaka zopitirira chaka chimodzi, okhala ndi ma pod mazana awiri.
Themberero la mafayilo akulu a YAML ku Kubernetes
Kukhazikitsa microservice ku Kubernetes, tipanga mafayilo osachepera asanu a YAML: a Deployment, Service, Ingress, ConfigMap, Secrets - ndikuwatumiza ku gululo. Pa ntchito yotsatira tidzalemba phukusi lomwelo la jambs, ndi lachitatu tidzalemba lina, ndi zina zotero. Ngati tichulukitsa chiwerengero cha zikalata ndi chiwerengero cha malo, tidzapeza kale mazana a mafayilo, ndipo izi sizikuganizirabe malo osinthika.
Adam Reese, woyang'anira wamkulu wa Helm, adayambitsa lingaliro la "Development Cycle ku Kubernetes", zomwe zikuwoneka ngati izi:
Koperani YAML - koperani fayilo ya YAML.
Matani YAML - ikani.
Konzani ma indents - konzani ma indents.
Bwerezani - kubwereza kachiwiri.
Njirayi imagwira ntchito, koma muyenera kukopera mafayilo a YAML nthawi zambiri. Kuti asinthe kuzungulira uku, Helm adapangidwa.
Momwe mungagwiritsire ntchito Helm kutumiza mapulogalamu anu
Tiyeni tiyike kasitomala wa Helm pa kompyuta yanu, kutsatira wovomerezekayo malangizo. Kenako, tipanga gulu la mafayilo a YAML. M'malo motchula zamtengo wapatali, tidzasiya zosungiramo malo, zomwe Helm idzadzaza ndi zambiri mtsogolomu. Mafayilo otere amatchedwa Helm chart. Itha kutumizidwa kwa kasitomala wa Helm console m'njira zitatu:
onetsani chikwatu chokhala ndi ma templates;
sungani zosungidwazo mu .tar ndikulozerapo;
ikani template pamalo osungira akutali ndikuwonjezera ulalo ku chosungirako mu kasitomala wa Helm.
Mufunikanso fayilo yokhala ndi ma values ββ- values.yaml. Zomwe zili pamenepo zidzayikidwa mu template. Tiyeni tipangenso.
Mtundu wachiwiri wa Helm uli ndi pulogalamu yowonjezera ya seva - Tiller. Imapachikidwa kunja kwa Kubernetes ndikudikirira zopempha kuchokera kwa kasitomala wa Helm, ndipo ikaitanidwa, imalowetsa zofunikira mu template ndikuzitumiza ku Kubernetes.
Helm 3 ndiyosavuta: m'malo mokonza ma templates pa seva, chidziwitso tsopano chimakonzedwa kwathunthu kumbali ya kasitomala wa Helm ndikutumizidwa mwachindunji ku Kubernetes API. Kuphweka uku kumathandizira chitetezo chamagulu ndikuwongolera dongosolo lotulutsa.
Zonse zimagwira ntchito bwanji
Thamangani lamulo helm install. Tiyeni tisonyeze dzina la pulogalamu yotulutsidwa ndikupereka njira yopita ku values.yaml. Pamapeto pake tidzawonetsa malo omwe tchaticho chili ndi dzina la tchati. Mu chitsanzo, awa ndi "lmru" ndi "bestchart", motsatana.
Monga akunena webusaitiyi Helm, "Ma chart a Kubernetes amatha kukhala akulu komanso ovuta, kotero Helm amayesa kuti asakhudze chilichonse." Chifukwa chake, ngati musintha mtundu waposachedwa wa chithunzi cha pulogalamuyo mu registry ya docker ndikuyendetsa lamulo helm upgrade, pamenepo palibe chimene chidzachitike. Helm adzaganiza kuti palibe chomwe chasintha ndipo palibe chifukwa chotumizira lamulo kwa Kubernetes kuti asinthe pulogalamuyi.
Apa ndi pansipa, tag yaposachedwa ikuwonetsedwa ngati chitsanzo. Mukatchula chizindikirochi, Kubernetes amatsitsa chithunzicho kuchokera ku registry ya docker nthawi zonse, mosasamala kanthu za parameter ya imagePullPolicy. Kugwiritsa ntchito kwaposachedwa kwambiri sikoyenera ndipo kumayambitsa zotsatira zoyipa.
Njira 2. Sinthani LABEL mu chithunzi
Monga zalembedwa chimodzimodzi zolemba, "Helm ingosintha pulogalamu ngati yasintha kuyambira pomwe idatulutsidwa komaliza." Kusankha koyenera pa izi kungawoneke ngati kukonzanso LABEL pachithunzi cha docker chomwe. Komabe, Helm sayang'ana pazithunzi zogwiritsira ntchito ndipo sadziwa za kusintha kulikonse kwa iwo. Chifukwa chake, pokonzanso zolemba pachithunzichi, Helm sangadziwe za iwo, ndipo lamulo losinthira ntchito silidzatumizidwa ku Kubernetes.
Njira 3: Gwiritsani ntchito kiyi --force
Tiyeni titembenuzire ku zolemba ndikuyang'ana kiyi yofunikira. Mfungulo imamveka bwino kwambiri --force. Ngakhale dzina lodziwikiratu, khalidweli ndi losiyana ndi kuyembekezera. M'malo mokakamiza kusinthidwa kwa pulogalamu, cholinga chake chenicheni ndikubwezeretsa kumasulidwa komwe kuli mu FAILED status. Ngati simugwiritsa ntchito kiyi iyi, muyenera kuchita malamulowo motsatizana helm delete && helm install --replace. Ndibwino kugwiritsa ntchito kiyi m'malo mwake --force, yomwe imapangitsa kuti ma sequentials azitsatira malamulowa. Zambiri mu izi kukoka pempho. Kuti muwuze Helm kuti asinthe mtundu wa pulogalamuyo, mwatsoka, kiyi iyi sigwira ntchito.
Njira 4. Sinthani zilembo mwachindunji ku Kubernetes
Kusintha chizindikiro mwachindunji mu tsango pogwiritsa ntchito lamulo kubectl edit - lingaliro loyipa. Izi zipangitsa kusagwirizana kwa chidziwitso pakati pa pulogalamu yomwe ikuyendetsa ndi yomwe idatumizidwa koyambirira. Makhalidwe a Helm pakutumizidwa pankhaniyi amasiyana ndi mawonekedwe ake: Helm 2 sichita chilichonse, ndipo Helm 3 idzatumiza mtundu watsopano wa pulogalamuyi. Kuti mumvetse chifukwa chake, muyenera kumvetsetsa momwe Helm imagwirira ntchito.
Palinso zambiri zatsatanetsatane za ma templates otumizidwa ndi mfundo zake. Titha kupempha:
Mu mtundu wachiwiri wa Helm, chidziwitsochi chili pamalo omwewo pomwe Tiller akuyendetsa (kube-system mwachisawawa), mu ConfigMap, yolembedwa ndi "OWNER=TILLER":
Pamene mtundu wachitatu wa Helm ukuwonekera, chidziwitsocho chinasunthira ku zinsinsi, ndi kumalo omwewo omwe ntchitoyo ikugwira ntchito. Chifukwa cha izi, zinakhala zotheka kuyendetsa mapulogalamu angapo nthawi imodzi m'malo osiyanasiyana okhala ndi dzina lotulutsa lomwe. M'gulu lachiwiri linali mutu waukulu pamene malo a mayina ali paokha koma amatha kukhudza wina ndi mzake.
Helm yachiwiri, poyesa kumvetsetsa ngati kusinthidwa kukufunika, imagwiritsa ntchito magwero awiri okha a chidziwitso: zomwe zaperekedwa kwa izo tsopano, ndi zamkati za zotulutsidwa, zomwe zili mu ConfigMap.
Helm yachitatu imagwiritsa ntchito njira yophatikizira njira zitatu: kuwonjezera pa chidziwitsocho, imaganiziranso ntchito yomwe ikugwira ntchito pakali pano ku Kubernetes.
Mphindi --recreate-pods idzasinthitsa mapulogalamu mwamphamvu, koma idzachita m'njira yowononga: idzazimitsa zotengera zonse. Ogwiritsa adzavutika ndi izi; simuyenera kuchita izi popanga.
Sinthani mwachindunji gulu la Kubernetes pogwiritsa ntchito lamulo kubectl edit musati: tidzaphwanya kusasinthasintha, ndipo khalidwe lidzasiyana malinga ndi mtundu wa Helm.
Ndi kutulutsidwa kwa mtundu watsopano wa Helm, ma nuances ambiri adawonekera. Nkhani zomwe zili mu Helm repository zimafotokozedwa m'mawu omveka bwino, zidzakuthandizani kumvetsetsa tsatanetsatane.