ProHoster > Blog > fitantanan-draharaha > Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala
Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala
Manomboka amin'ny fanoloran-tena faharoa, ny code rehetra dia lasa lova, satria manomboka miala amin'ny zava-misy henjana ny hevitra voalohany. Sady tsy tsara no tsy ratsy izany, omena izay sarotra iadian-kevitra ary tsy maintsy iaina. Ampahany amin'ity dingana ity ny refactoring. Refactoring fotodrafitrasa toy ny Code. Avelao ny tantara hatomboka amin'ny fomba hamerenana ny Ansible ao anatin'ny herintaona fa tsy ho lasa adala.
Ny nahaterahan'ny lova
Andro #1: Patient Zero
Indray mandeha dia nisy tetikasa misy fepetra. Nanana ekipa fampandrosoana Dev sy injeniera Ops izy io. Namaha olana iray ihany izy ireo: ny fomba fametrahana lohamilina sy fampandehanana fampiharana. Ny olana dia ny ekipa tsirairay dia namaha io olana io tamin'ny fombany. Tamin'ny tetikasa dia nanapa-kevitra ny hampiasa Ansible hampifanaraka ny fahalalana eo amin'ny ekipa Dev sy Ops.
Andro #89: Ny fahaterahan'ny lova
Tsy nahatsikaritra izany ny tenany fa naniry ny hanao izany araka izay azo atao, saingy lasa lova. Ahoana no mitranga izany?
Tsy mila manoratra antontan-taratasy ianao ary mazava tsara ny zava-mitranga eto.
Fantatro ny Ansible/Python/Bash/Terraform! Jereo ny fomba handosirako!
Mpanamboatra Full Stack Overflow aho ary nandika an'io tamin'ny stackoverflow, tsy fantatro ny fomba fiasany, fa toa mangatsiatsiaka sy mamaha ny olana.
Vokatr'izany dia azonao atao ny mahazo karazana code tsy takatry ny saina izay tsy misy antontan-taratasy, tsy mazava ny ataony, na ilaina izany, fa ny olana dia mila mamolavola azy ianao, manova azy, manampy tehina sy tohana. , vao mainka miharatsy ny toe-javatra.
Ny modely IaC noforonina sy nampiharina tamin'ny voalohany dia tsy mahafeno ny fepetra takian'ny mpampiasa / orinasa / ekipa hafa, ary tsy azo ekena intsony ny fotoana hanovana ny fotodrafitrasa. Amin'izao fotoana izao dia tonga ny fahatakarana fa tonga ny fotoana hanaovana hetsika.
Ny zavatra voalohany dia ny manomana. Manapaha hevitra izay hataontsika. Mba hanaovana izany, mifampiresaka isika, mitady faritra misy olana ary mitady fomba hamahana azy ireo. Raketinay amin'ny fomba ahoana ny hevitra aterak'izany, ohatra amin'ny lahatsoratra iray mitambatra, ka rehefa mipoitra ny fanontaniana hoe "inona no tsara indrindra?" na "inona no marina?" Tsy very lalana izahay. Raha ny momba anay dia nifikitra tamin'ilay hevitra izahay mizara sy manapaka: vakivaky ny fotodrafitrasa madinika/biriky. Ity fomba fiasa ity dia ahafahanao maka fotodrafitrasa mitoka-monina, mahatakatra ny ataony, manarona azy amin'ny fitsapana ary manova azy tsy misy tahotra ny handrava na inona na inona.
Hita fa lasa vato fehizoro ny fitsirihana ny fotodrafitrasa ka eto dia tsara ny manamarika ny piramida fitsirihana ny fotodrafitrasa. Mitovy tanteraka amin'ny hevitra eo amin'ny fampandrosoana, fa ho an'ny fotodrafitrasa: miainga avy amin'ny fitsapana haingana mora vidy izay manamarina zavatra tsotra, toy ny indentation, mankany amin'ny andrana feno lafo izay mametraka ny fotodrafitrasa manontolo.
Andrana fitsapana azo atao
Alohan'ny handehanantsika hamaritana ny fomba nandrakofanay ny fitsapana Ansible momba ny tetikasa, dia holazaiko ireo andrana sy fomba fiasa izay nananako fahafahana nampiasa teo aloha mba hahatakarana ny tontolon'ny fanapahan-kevitra noraisina.
Andro No. -997: Fanomezana SDS
Ny fotoana voalohany nanandramako an'i Ansible dia tao amin'ny tetikasa iray hamolavola SDS (Software Defined Storage). Misy lahatsoratra manokana momba ity lohahevitra ity Ahoana ny fomba hanapahana ny bisikileta amin'ny tehina rehefa manandrana ny fizaranao, fa raha fintinina dia niafara tamin'ny piramida fitsapana nivadika izahay ary nandany 60-90 minitra tamin'ny anjara iray ny fitsapana, izay fotoana lava be. Ny fototra dia ny fitsapana e2e, i.e. nametraka fametrahana feno izahay ary nanandrana izany avy eo. Ny tena nampalahelo dia ny famoronana ny bisikiletany manokana. Saingy tsy maintsy ekeko fa niasa io vahaolana io ary namela ny famoahana tsy tapaka.
Andro # -701: lakozia azo antoka sy fitsapana
Ny fampivoarana ny hevitra fitiliana Ansible dia ny fampiasana fitaovana efa vita, dia ny lakozia / lakozia-ci ary ny inspec. Ny fahafantarana an'i Ruby no namaritana ny safidy (raha mila fanazavana fanampiny dia jereo ny lahatsoratra momba ny Habré: Manonofy hanao fitiliana Ansible ve ny mpandrindra YML?) niasa haingana kokoa, tokony ho 40 minitra ho an'ny anjara 10. Namorona fonosana milina virtoaly izahay ary nanao fitsapana tao anatiny.
Amin'ny ankapobeny, nahomby ny vahaolana, saingy nisy antsanga noho ny tsy fitoviana. Rehefa nitombo ho 13 anjara fototra ny isan'ny olona nosedraina ary 2 meta anjara manambatra anjara kely kokoa, dia nanomboka nandeha tampoka nandritra ny 70 minitra ny andrana, izay efa ho in-2 lava kokoa. Sarotra ny niresaka momba ny fomba fiasa XP (programming extreme) satria... tsy misy te hiandry 70 minitra. Izany no antony nanova ny fomba fiasa
Andro # -601: Ansible sy molekiola
Amin'ny foto-kevitra dia mitovy amin'ny testkitchen izany, izahay ihany no namindra ny fitiliana anjara tamin'ny docker ary nanova ny stack. Vokatr'izany dia nihena ho 20-25 minitra ny fotoana ho an'ny anjara 7.
Tamin'ny fampitomboana ny isan'ny anjara voasedra ho 17 sy ny fametahana andraikitra 45, dia nanatanteraka izany tao anatin'ny 28 minitra izahay tamin'ny andevo jenkins 2.
Azo inoana fa tsy ho azo atao haingana ny asa refactoring. Ny asa dia tsy maintsy azo refesina mba hahafahanao manapaka azy ho sombiny kely ary mihinana ny elefanta tapatapaka amin'ny sotro iray. Tsy maintsy misy ny fahatakarana raha mizotra amin'ny lalana marina ianao, hafiriana no handehanana.
Amin'ny ankapobeny, tsy maninona ny fomba hanaovana izany, azonao atao ny manoratra amin'ny taratasy iray, azonao atao ny mametraka sticker eo amin'ny efi-tranonao, azonao atao ny mamorona asa ao amin'ny Jira, na afaka manokatra Google Docs ianao ary manoratra ny sata ankehitriny. Ery. Ny tongotra dia mitombo noho ny zava-misy fa ny dingana dia tsy eo no ho eo, dia ho lava sy mandreraka. Tsy azo inoana fa misy olona maniry anao handoro hevitra, ho reraka, ary ho reraka mandritra ny refactoring.
Mety tsy ho azo atao ny manomboka mitsapa ny zava-drehetra avy hatrany, ka ny asa voalohany nataonay dia ny natomboka tamin'ny linting sy ny fanamarinana ny syntax.
Andro #181: Maitso Build Master
Ny linting dia dingana voalohany mankany amin'ny Green Build Master. Tsy handrava saika na inona na inona izany, fa hamela anao hanaisotra ny dingana sy hanao fananganana maitso ao Jenkins. Ny hevitra dia ny hampivelatra fahazarana eo amin'ny ekipa:
Ratsy ny fitsapana mena.
Tonga hanamboatra zavatra aho ary miaraka amin'izay koa, ny kaody dia tsara kokoa noho ny teo alohanao.
Andro #193: Avy amin'ny linting mankany amin'ny fitsapana unit
Rehefa avy nanamboatra ny dingan'ny fampidirana ny kaody ho an'ny tompony ianao dia afaka manomboka ny dingan'ny fanatsarana tsikelikely - manolo ny linting amin'ny andraikitra fanombohana, azonao atao mihitsy aza izany tsy misy idempotency. Mila mahafantatra ny fomba hampiharana ny andraikitra sy ny fomba fiasan'izy ireo ianao.
Rehefa rakotry ny andrana vondrona ny ankamaroan'ny andraikitra ary voapetaka avokoa ny zava-drehetra, azonao atao ny miroso amin'ny fampidirana fitsapana fampidirana. Ireo. tsy fitiliana biriky na dia iray aza ao amin'ny fotodrafitrasa, fa ny fitambaran'izy ireo, ohatra, ny fanamafisana ohatra feno.
Amin'ny fampiasana jenkins, namorona dingana maro izahay izay nandrafitra anjara/boky filalaovana mifanandrify, avy eo ny fitsapana an'ny vondrona ao anaty kaontenera, ary farany ny andrana fampidirana.
Tamin'ny voalohany, vondrona kely misy olona roa na telo no nanao refactoring. Nodinihin'izy ireo ny kaody ao amin'ny tompony. Rehefa nandeha ny fotoana, ny ekipa dia namolavola fahalalana momba ny fanoratana kaody sy ny famerenana ny kaody dia nandray anjara tamin'ny fanaparitahana ny fahalalana momba ny fotodrafitrasa sy ny fomba fiasany. Nisongadina teto ny nisafidianana ireo mpandinika, araka ny fandaharam-potoana, izany hoe. miaraka amin'ny ambaratonga mety hiakatra amin'ny fotodrafitrasa vaovao ianao.
Ary tokony ho mahazo aina eto. Tsara ny manao famerenana, mijery ao anatin'ny rafitry ny asa vitany, ary ny tantaran'ny fifanakalozan-kevitra. Nampiditra jenkins + bitbucket + jira izahay.
Saingy noho izany, ny famerenana dia tsy fanafody; Na ahoana na ahoana, dia niditra tao amin'ny kaody master izahay, izay nahatonga anay hanao fitsapana:
Rehefa nandeha ny fotoana, dia nisy fitsapana maro kokoa, niadana kokoa ny fanamboarana, hatramin'ny adiny iray amin'ny tranga ratsy indrindra. Ao amin'ny iray amin'ireo retros dia nisy andian-teny toy ny hoe "tsara fa misy ny fitsapana, fa miadana izy ireo." Vokatr'izany dia nandao ny fitsapana fampidirana amin'ny milina virtoaly izahay ary nampifanaraka azy ireo ho an'i Docker mba hanafainganana azy. Nosoloinay ihany koa ny testinfra amin'ny verifier ansible mba hampihenana ny isan'ny fitaovana ampiasaina.
Raha ny marina, nisy fepetra maromaro:
Hiverina any amin'ny docker.
Esory ny fitiliana anjara, izay adika noho ny fiankinan-doha.
Ampitomboy ny isan'ny andevo.
Fibaikoana andrana.
Fahaizana lint rEHETRA eo an-toerana miaraka amin'ny baiko iray.
Vokatr'izany dia niray hina ihany koa ny Pipeline on jenkins
Ny mahatsikaiky dia ny vokatry ny playbook dia hiankina amin'ny zavatra tsy miharihary foana, toy ny filaharan'ireo anjara. Indrisy anefa fa izany no toetran'ny Ansible ary ny zavatra tsara indrindra azo atao dia ny mampiasa karazana fifanarahana, ohatra, ao anatin'ny anjara iray, dia tsy mampiasa afa-tsy ny faribolana voalaza ao amin'io andraikitra io.
TSARA: Amin'ny andraikitry ny fari-pitsipika, ampiasao ny fari-piadidiana misy ny anaran'ny anjara; izany, amin'ny fijerena ny lisitra, dia hanamora ny fahazoana ny zava-mitranga.
Nanaiky ny hampiasa prefix miovaova izahay; tsy ho tafahoatra ny hanamarina fa voafaritra araka ny nantenainay izy ireo ary, ohatra, dia tsy nosoloina sanda foana.
TSARA: Hamarino ny fari-piainana.
- name: "Verify that required string variables are defined"
assert:
that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
fail_msg: "{{ ahs_var }} needs to be set for the role to work "
success_msg: "Required variables {{ ahs_var }} is defined"
loop_control:
loop_var: ahs_var
with_items:
- ahs_item1
- ahs_item2
- ahs_item3
Halaviro ny diksionera hash, ampiasao rafitra fisaka
Raha toa ka manantena hash/diksionera ao amin'ny iray amin'ireo masontsivanany ny anjara iray, dia raha te hanova ny iray amin'ireo masontsivana ankizy isika dia mila manafoana ny hash/diksiona manontolo, izay hampitombo ny fahasarotan'ny fanitsiana.
Ny anjara asa sy ny playbooks dia tsy maintsy idempotent, satria mampihena ny fifindran'ny configuration sy ny tahotra ny hanapaka zavatra. Fa raha mampiasa molekiola ianao, dia izao no fitondran-tena mahazatra.
Fadio ny mampiasa maody shell baiko
Ny fampiasana maody akorandriaka dia miteraka paradigma famaritana tsy maintsy atao, fa tsy ilay fanambarana, izay fototry ny Ansible.
Andramo ny anjara asanao amin'ny alàlan'ny molekiola
Ny molekiola dia zavatra tena miovaova, andao hojerentsika ny toe-javatra vitsivitsy.
Ao amin'ny molekiola dia azo atao ny mampiasa ansible mba hanamarinana fa efa namboarina tsara ny ohatra, ary izany no default hatramin'ny famoahana 3. Tsy mora toy ny testinfra/inspec izy io, saingy azontsika atao ny manamarina fa mifanaraka amin'ny andrasantsika ny votoatin'ny rakitra:
Na ampidiro ny serivisy, andraso ho tonga ary manaova fitsapana setroka:
---
- name: Verify
hosts: solr
tasks:
- command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
- uri:
url: http://127.0.0.1:8983/solr
method: GET
status_code: 200
register: uri_result
until: uri_result is not failed
retries: 12
delay: 10
- name: Post documents to solr
command: /blah/solr/bin/post -c master /exampledocs/books.csv
Ampidiro ao anaty modules & plugins ny lojika sarotra
Ny Ansible dia manohana ny fomba fanambaràna, ka rehefa manao sampana kaody, fanovana angon-drakitra, maody akorandriaka ianao, dia lasa sarotra ny mamaky ny kaody. Mba hiadiana amin'izany sy hitazonana azy ho mora takarina, dia tsy ho tafahoatra ny hiadiana amin'ity fahasarotana ity amin'ny alàlan'ny famoronana modules anao manokana.
Fintino ny Soso-kevitra & Tetika
Halaviro ny fari-piainana manerantany.
Variable andraikitry ny prefix.
Ampiasao ny fari-pifehezana loop.
Hamarino ny fari-pidirana.
Halaviro ny diksionera hash, ampiasao rafitra fisaka.
Mamorona boky filalaovana sy anjara asa.
Fadio ny mampiasa maody shell baiko.
Andramo ny anjara asanao amin'ny alàlan'ny molekiola.
Ampidiro ao anaty modules & plugins ny lojika sarotra.
famaranana
Tsy afaka mandeha fotsiny ianao ary mamerina ny fotodrafitrasa amin'ny tetikasa iray, na dia manana IaC aza ianao. Izany dia dingana lava mitaky faharetana, fotoana ary fahalalana.