Mafayilo am'deralo mukasamutsa pulogalamu kupita ku Kubernetes
Pomanga ndondomeko ya CI / CD pogwiritsa ntchito Kubernetes, nthawi zina vuto limakhala losagwirizana pakati pa zofunikira za zomangamanga zatsopano ndi ntchito yomwe imasamutsidwa kwa izo. Makamaka, pa siteji yomanga ntchito ndikofunikira kupeza ΠΎΠ΄ΠΈΠ½ chithunzi chomwe chidzagwiritsidwe Π²ΡΠ΅Ρ madera a polojekiti ndi magulu. Mfundo imeneyi ndi yolondola malinga ndi Google kasamalidwe ka chidebe (kamodzi pa izi Adatero ndi dipatimenti yathu yaukadaulo).
Mukayamba kulowa patsambali, katundu amawonekera mu chidebe cha PHP. Koma pakakhala zotengera ziwiri mkati mwa pod imodzi, nginx sadziwa chilichonse chokhudza mafayilo osasunthika, omwe (malinga ndi kasinthidwe) ayenera kuperekedwa kwa iwo. Zotsatira zake, kasitomala adzawona cholakwika cha 404 pazopempha zonse ku mafayilo a CSS ndi JS. Yankho losavuta apa lingakhale kukonza chikwatu chofanana cha zotengera. Njira yoyambirira - yamba emptyDir:
Tsopano mafayilo osasunthika opangidwa mu chidebe amatumizidwa ndi nginx molondola. Koma ndiloleni ndikukumbutseni kuti iyi ndi yankho lachikale, lomwe limatanthauza kuti siliri labwino ndipo lili ndi ma nuances ndi zofooka zake, zomwe zafotokozedwa pansipa.
Zosungirako zapamwamba kwambiri
Tsopano lingalirani mkhalidwe womwe wogwiritsa ntchito adayendera tsambali, adakweza tsamba lomwe lili ndi masitaelo omwe ali mu chidebecho, ndipo akuwerenga tsamba ili, tidayikanso chidebecho. Katundu wazinthu alibe kanthu ndipo pempho ku PHP likufunika kuti muyambe kupanga zatsopano. Komabe, ngakhale zitatha izi, maulalo ku ma statics akale sadzakhala ofunikira, zomwe zingayambitse zolakwika pakuwonetsa ma statics.
Kuphatikiza apo, mwina tili ndi projekiti yodzaza kwambiri kapena yocheperako, zomwe zikutanthauza kuti pulogalamu imodzi sikhala yokwanira:
Tiyeni tiwonjezere Kutumizidwa mpaka awiri ofananira.
Kawirikawiri, zotsatira zake zimakhalanso zolakwika.
Pofuna kupewa kutaya katundu wakale, mukhoza kusintha emptyDir pa hostPath, kuwonjezera static mwakuthupi ku nodi yamagulu. Njira imeneyi ndi yoipa chifukwa tiyenera kutero kumangirira ku nodi yamagulu enaake ntchito yanu, chifukwa - ngati mutasamukira kumalo ena - chikwatu sichikhala ndi mafayilo ofunikira. Kapena mtundu wina wamalumikizidwe akumbuyo pakati pa ma node amafunikira.
Kodi mayankho ake ndi ati?
Ngati hardware ndi zipangizo zilola, mukhoza kugwiritsa ntchito cephs kukonza chikwatu chopezeka mofanana pazosowa zokhazikika. Zolemba zovomerezeka imalimbikitsa ma drive a SSD, kubwereza katatu ndi kulumikizana kokhazikika "kwakukulu" pakati pa ma cluster node.
Chosankha chocheperako chingakhale kukonza seva ya NFS. Komabe, ndiye kuti muyenera kuganizira kuchuluka kwanthawi yoyankha pakuyankha zopempha ndi seva yapaintaneti, ndipo kulolerana kolakwa kudzasiya zambiri. Zotsatira za kulephera ndizoopsa: kutayika kwa phiri kumawonongetsa tsango kuti life pansi pa kuukira kwa katundu wa LA akuthamangira kumwamba.
Mwa zina, zosankha zonse zopangira zosungirako zosalekeza zidzafunika kuyeretsa maziko mafayilo achikale omwe adasonkhanitsidwa pakapita nthawi. Pamaso pa zotengera ndi PHP mutha kuyika DaemonSet kuchokera ku caching nginx, yomwe idzasungira katundu kwa kanthawi kochepa. Khalidweli ndi losavuta kusinthika pogwiritsa ntchito proxy_cache ndi kuzama kosungirako masiku kapena ma gigabytes a disk space.
Kuphatikizira njira iyi ndi mafayilo ogawidwa omwe atchulidwa pamwambapa kumapereka gawo lalikulu lamalingaliro, ocheperako ndi bajeti ndi kuthekera kwaukadaulo kwa omwe adzagwiritse ntchito ndikuthandizira. Kuchokera pazomwe takumana nazo, tinganene kuti dongosolo losavuta, ndilokhazikika kwambiri. Zigawo zotere zikawonjezeredwa, zimakhala zovuta kwambiri kusunga zomangamanga, ndipo nthawi yomweyo nthawi yomwe imagwiritsidwa ntchito pozindikira ndikuchira ku zolephera zilizonse ikuwonjezeka.
Kuyamikira
Ngati kukhazikitsidwa kwa zosankha zosungirako zomwe zikuperekedwa kumawonekanso kosayenera kwa inu (zovuta, zodula ...), ndiye kuti ndi bwino kuyang'ana mkhalidwewo kuchokera kumbali ina. Ndiko kuti, kukumba mu kamangidwe ka polojekiti ndi konza vuto mu code, zomangirizidwa ku mawonekedwe a data osasunthika pachithunzichi, kutanthauzira kosamvetsetseka kwa zomwe zili mkati kapena njira ya "kuwotha" ndi/kapena katundu wotsogola pagawo la kuphatikiza chithunzi. Mwanjira iyi timakhala ndi machitidwe odziwikiratu komanso mawonekedwe omwewo amitundu yonse ndi zofananira za pulogalamu yomwe ikuyenda.
Ngati tibwereranso ku chitsanzo chenichenicho ndi chimango cha Yii ndipo osayang'ana mu kapangidwe kake (chomwe sichiri cholinga cha nkhaniyi), ndikokwanira kuwonetsa njira ziwiri zodziwika bwino:
Tanthauzirani ma hashe enieni a kalozera wazinthu, monga momwe tafotokozera mwachitsanzo. chiwonetsero ichi (kuyambira pa slide Na. 35). Mwa njira, mlembi wa lipoti pamapeto pake (osati popanda chifukwa!) Amalangiza kuti mutatha kusonkhanitsa katundu pa seva yomanga, ikani ku malo osungirako (monga S3), kutsogolo komwe kuli CDN.
Mafayilo otsitsa
Mlandu wina womwe ungachitike mukasamutsa pulogalamu kupita ku gulu la Kubernetes ndikusunga mafayilo amtundu mumafayilo. Mwachitsanzo, tilinso ndi pulogalamu ya PHP yomwe imavomereza mafayilo kudzera mu fomu yotumizira, kuchita nawo kena kake panthawi yogwira ntchito, ndikuwatumizanso.
Ku Kubernetes, malo omwe mafayilowa akuyenera kuyikidwa akuyenera kukhala ofananira ndi onse omwe akugwiritsa ntchito. Malingana ndi zovuta za pulogalamuyi komanso kufunikira kokonzekera kulimbikira kwa mafayilowa, zosankha zomwe tazitchula pamwambapa zikhoza kukhala malo oterowo, koma, monga tikuonera, ali ndi zovuta zawo.
Kuyamikira
Njira imodzi ndiyo pogwiritsa ntchito yosungirako yogwirizana ndi S3 (ngakhale ndi mtundu wina wamtundu wodzipangira nokha ngati minio). Kusintha ku S3 kudzafuna kusintha pa mlingo wa kodi, ndi momwe zokhutira zidzaperekedwa kumapeto, tatero kale analemba.
Zogwiritsa ntchito
Payokha, ndi bwino kuzindikira bungwe la kusungirako magawo ogwiritsira ntchito. Nthawi zambiri awa ndi mafayilo pa disk, omwe m'mawu a Kubernetes adzatsogolera ku pempho lovomerezeka nthawi zonse kuchokera kwa wogwiritsa ntchito ngati pempho lake lithera mu chidebe china.
Vutoli limathetsedwa pang'ono ndikuyatsa stickySessions pa ingress (chinthucho chimathandizidwa ndi olamulira onse otchuka - kuti mumve zambiri, onani ndemanga yathu)kumangiriza wosuta ku pod inayake ndi pulogalamuyi:
Koma izi sizingathetse mavuto ndi kutumizidwa mobwerezabwereza.
Kuyamikira
Njira yolondola kwambiri ingakhale kusamutsa pulogalamuyo ku kusunga magawo mu memcached, Redis ndi mayankho ofanana - zambiri, kusiya kwathunthu zosankha za fayilo.
Pomaliza
Mayankho a zomangamanga omwe akufotokozedwa m'mawuwa ndi oyenera kugwiritsidwa ntchito ngati "ndodo" zosakhalitsa (zomwe zimamveka zokongola kwambiri mu Chingerezi ngati ntchito). Zitha kukhala zofunikira m'magawo oyamba osamukira ku Kubernetes, koma zisakhazikike.
Njira yolimbikitsira ambiri ndikuchotsa iwo m'malo mwa kusinthidwa kwa kamangidwe ka ntchito molingana ndi zomwe zimadziwika kale kwa ambiri. 12-Factor App. Komabe, izi - kubweretsa ntchitoyo ku mawonekedwe osawerengeka - mosakayikira kumatanthauza kuti kusintha kwa code kudzafunika, ndipo apa ndikofunikira kupeza mgwirizano pakati pa mphamvu / zofunikira za bizinesi ndi chiyembekezo chokhazikitsa ndi kusunga njira yosankhidwa. .