GitOps: kahi huaʻōlelo hou a i ʻole kahi holomua i ka automation?

GitOps: kahi huaʻōlelo hou a i ʻole kahi holomua i ka automation?

ʻO ka hapa nui o mākou, ke ʻike nei i kahi huaʻōlelo hou i ka blogosphere IT a i ʻole ka hālāwai kūkā, e nīnau koke a ma hope paha i kahi nīnau like: "He aha kēia? ʻO kahi huaʻōlelo ʻē aʻe, he "buzzword" a i ʻole kekahi mea kūpono e nānā pono ai, e aʻo ai a me ka ʻōlelo hoʻohiki no nā ʻano hou? Ua like ka mea iaʻu me ka huaʻōlelo GitOps i kekahi manawa i hala. Hoʻopili ʻia me nā ʻatikala he nui, a me ka ʻike o nā hoa hana mai ka hui GitLab, Ua ho'āʻo wau e noʻonoʻo i ke ʻano o kēia holoholona, ​​a me ke ʻano o kona hoʻohana ʻana i ka hana.

Ma ke ala, e pili ana i ka mea hou o ka huaʻōlelo GitOps 'Ōlelo pū kā mākou noiʻi hou: ʻoi aku ma mua o ka hapalua o ka poʻe i noiʻi ʻia ʻaʻole i hoʻomaka e hana me kāna mau loina.

No laila, ʻaʻole hou ka pilikia o ka hoʻokele waiwai. Nui nā mea hoʻolako kapua i loaʻa i ka lehulehu no nā makahiki he ʻumikūmālua, a me he mea lā, ua hana maʻalahi a maʻalahi ka hana a nā hui no ka ʻōnaehana. Eia nō naʻe, ke hoʻohālikelike ʻia i ke kaʻina hana hoʻomohala noi (kahi e piʻi ai ka automation i nā pae hou loa), pili pinepine nā papahana ʻoihana i nā hana lima a koi i ka ʻike kūikawā a me ka ʻike, ʻoi aku ka hāʻawi ʻana i nā koi o kēia lā no ka hoʻomanawanui hewa, hiki ke maʻalahi, scalability a me ka elasticity.

Ua hoʻokō maikaʻi nā lawelawe Cloud i kēia mau koi a ʻo lākou ka mea i hāʻawi i ka hoʻoikaika nui i ka hoʻomohala ʻana i ke ala IaC. Hoʻomaopopo kēia. Ma hope o nā mea a pau, hiki iā lākou ke hoʻonohonoho i kahi kikowaena data virtual loa: ʻaʻohe kikowaena kino, racks, a me nā ʻāpana pūnaewele; hiki ke wehewehe ʻia ke ʻano holoʻokoʻa me ka hoʻohana ʻana i nā palapala a me nā faila hoʻonohonoho.

No laila he aha ka ʻokoʻa? GitOps от IaC? Me kēia nīnau i hoʻomaka ai kaʻu noiʻi. Ma hope o ke kamaʻilio ʻana me nā hoa hana, ua hiki iaʻu ke hoʻohālikelike i kēia:

GitOps

IaC

Mālama ʻia nā code āpau i kahi waihona git

He koho ka hoʻololi code

Hōʻike Code Declarative / Idempotency

Ua ʻae ʻia nā wehewehe ʻōlelo a me nā ʻōlelo koi

Hoʻohana ʻia nā loli me ka hoʻohana ʻana i ka Merge Request / Pull Request mechanisms

ʻO ka ʻaelike, ka ʻae ʻana a me ka hui pū ʻana he koho

ʻO ke kaʻina hana hoʻopuka hou

ʻAʻole i hoʻohālikelike ʻia ke kaʻina hana hou (akomi, manual, kope kope, hoʻohana i ka laina kauoha, etc.)

ʻO ia hoʻi GitOps ua hānau pololei ʻia ma o ka hoʻohana ʻana i nā loina IaC. ʻO ka mea mua, hiki ke mālama ʻia nā ʻōnaehana a me nā hoʻonohonoho e like me nā noi. He maʻalahi ke code e mālama, maʻalahi e kaʻana like, hoʻohālikelike, a hoʻohana i nā mana hoʻololi. Nā unuhi, nā lālā, ka mōʻaukala. A ʻo kēia mau mea a pau ma kahi i hiki ke ʻike ʻia e ka hui holoʻokoʻa. No laila, ua lilo ka hoʻohana ʻana i nā ʻōnaehana mana mana i mea hoʻomohala maoli. ʻO ka mea nui, ʻo git, ʻo ia ka mea kaulana loa.

Ma ka ʻaoʻao ʻē aʻe, ua hiki ke hoʻokaʻawale i nā kaʻina hoʻokele waiwai. I kēia manawa hiki ke hana wikiwiki, ʻoi aku ka hilinaʻi a me ka maʻalahi. Eia kekahi, ua ʻike mua ʻia nā loina o CI / CD a kaulana i waena o nā mea hoʻomohala polokalamu. He mea pono wale ke hoʻololi a hoʻopili i ka ʻike a me nā mākau i ʻike mua ʻia i kahi wahi hou. ʻO kēia mau hana, ua hele ma mua o ka wehewehe maʻamau o Infrastructure ma ke code, no laila ka manaʻo GitOps.

GitOps: kahi huaʻōlelo hou a i ʻole kahi holomua i ka automation?

ʻO ka hoihoi GitOps, ʻoiaʻiʻo, ʻo ia hoʻi ʻaʻole ia he huahana, plugin a i ʻole platform e pili ana me kekahi mea kūʻai aku. ʻOi aku ia o kahi paradigm a me kahi hoʻonohonoho o nā loina, e like me kekahi huaʻōlelo a mākou i kamaʻāina ai: DevOps.

I ka hui GitLab ua hoʻomohala mākou i ʻelua wehewehe o kēia huaʻōlelo hou: theoretical and practical. E hoʻomaka kākou me ka theoretical:

ʻO GitOps kahi ala e lawe ai i nā kumu DevOps maikaʻi loa i hoʻohana ʻia no ka hoʻomohala ʻana i nā noi, e like me ka mana mana, hui pū ʻana, orchestration, CI/CD, a hoʻopili iā lākou i nā pilikia o ka hoʻokele ʻana i nā ʻōnaehana.

Nā hana a pau GitOps Hana wau me ka hoʻohana ʻana i nā mea hana i loaʻa. Mālama ʻia nā code infrastructure a pau i loko o ka waihona git kamaʻāina, hele nā ​​loli ma ke kaʻina ʻae like e like me nā code software ʻē aʻe, a ua maʻalahi ke kaʻina hana rollout, e hōʻemi ana i nā hewa kanaka a hoʻonui i ka hilinaʻi a me ka reproducibility.

Mai ka manaʻo kūpono, wehewehe mākou GitOps penei:

GitOps: kahi huaʻōlelo hou a i ʻole kahi holomua i ka automation?

Ua kūkākūkā mua mākou i ka ʻōnaehana ma ke ʻano he code ma ke ʻano he mea nui o kēia ʻano. E hoʻolauna kākou i ke koena o ka poʻe komo.

Hoʻohui Noi (inoa ʻē aʻe Pull Request). Ma nā ʻōlelo kaʻina hana, he noi ʻo MR e hoʻopili i nā hoʻololi code a laila hoʻohui i nā lālā. Akā ma ke ʻano o nā mea hana a mākou e hoʻohana ai, ʻoi aku ka manawa kūpono e kiʻi i kahi kiʻi piha o nā hoʻololi a pau i hana ʻia: ʻaʻole wale ka code diff i hōʻiliʻili ʻia mai kahi helu o nā commits, akā ʻo ka pōʻaiapili, nā hopena hōʻike, a me ka hopena hope loa i manaʻo ʻia. Inā mākou e kamaʻilio e pili ana i ka code infrastructure, a laila makemake mākou i ke ʻano o ka loli ʻana o ka ʻōnaehana, ehia mau kumuwaiwai hou e hoʻohui ʻia a wehe ʻia, hoʻololi. ʻOi aku ka maikaʻi ma kahi ʻano maʻalahi a maʻalahi hoʻi e heluhelu. No nā mea hoʻolako kapua, he manaʻo maikaʻi e ʻike i ka hopena kālā o kēia hoʻololi.

Akā ʻo MR kahi ala o ka hui pū ʻana, ka launa pū ʻana, a me ke kamaʻilio. ʻO kahi kahi e hoʻokō ai ka ʻōnaehana o ka nānā a me ke kaulike. Mai nā manaʻo maʻalahi i nā ʻae a me nā ʻae.

ʻAe, ʻo ka mea hope loa: CI/CD, e like me kā mākou i ʻike mua ai, hiki iā ia ke hoʻomaʻamaʻa i ke kaʻina hana o ka hoʻololi ʻana i nā ʻōnaehana a me ka hoʻāʻo ʻana (mai ka nānā ʻana i ka syntax maʻalahi a hiki i ka loiloi static code paʻakikī). A i ka ʻike ʻana o ka drift: ʻokoʻa ma waena o ke kūlana maoli a makemake ʻia o ka ʻōnaehana. No ka laʻana, ma muli o ka hoʻololi lima ʻole ʻia a i ʻole ka hemahema ʻōnaehana.

ʻAe, ka huaʻōlelo GitOps ʻAʻole ia e hoʻolauna iā mākou i kahi mea hou loa, ʻaʻole ia e hoʻohuli hou i ka huila, akā hoʻopili wale i ka ʻike i hōʻiliʻili ʻia ma kahi wahi hou. Eia nae kona ikaika.

A inā makemake koke ʻoe i ke ʻano o kēia mau mea āpau i ka hoʻomaʻamaʻa, a laila kono wau iā ʻoe e nānā i kā mākou papa papa, kahi aʻu e haʻi aku ai iā ʻoe i kēlā me kēia pae pehea e hoʻohana ai iā GitLab:

  • E hoʻokō i nā kumu kumu o GitOps

  • E hana a hoʻololi i ka ʻōnaehana kapua (e hoʻohana ana i ka laʻana o Yandex Cloud)

  • Hoʻokaʻawale i ka ʻike ʻana i ka neʻe ʻana o ka ʻōnaehana mai kahi kūlana i makemake ʻia me ka nānā ʻana

GitOps: kahi huaʻōlelo hou a i ʻole kahi holomua i ka automation?https://bit.ly/34tRpwZ

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka