Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Qhov no yog ib daim ntawv teev cov lus DevopsConf 2019-10-01 ΠΈ PAB 2019-09-25.

Nov yog zaj dab neeg ntawm ib qhov project uas siv tus kheej sau kev tswj hwm tus kheej thiab vim li cas qhov kev txav mus rau Ansible siv sijhawm 18 lub hlis.

Hnub No. -Π₯Π₯Π₯: Ua ntej pib

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Thaum xub thawj, cov txheej txheem tsim muaj ntau tus tswv tsev sib cais khiav Hyper-V. Tsim lub tshuab virtual yuav tsum muaj ntau kauj ruam: muab cov disks tso rau hauv qhov chaw, sau npe DNS, khaws DHCP, muab VM teeb tsa hauv git repository. Cov txheej txheem no yog ib feem mechanized, tab sis piv txwv li, VMs tau faib ntawm cov tswv los ntawm tes. Tab sis, piv txwv li, cov neeg tsim khoom tuaj yeem kho VM teeb tsa hauv git thiab siv nws los ntawm rebooting VM.

Custom Configuration Management Solution

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Thawj lub tswv yim, kuv xav tias, tau xeeb los ua IaC: ntau lub xeev tsis muaj VMs uas rov pib dua lawv lub xeev mus rau xoom thaum rov pib dua. VM configuration Management yog dab tsi? Schematically nws zoo li yooj yim:

  1. Ib qho zoo li qub MAC raug ntsia rau ntawm VM.
  2. Ib qho ISO nrog CoreOS thiab khau raj disk tau txuas nrog VM.
  3. CoreOS tso tawm cov ntawv hloov kho los ntawm rub tawm los ntawm WEB server raws li nws tus IP.
  4. Tsab ntawv rub tawm VM teeb tsa ntawm SCP raws li qhov chaw nyob IP.
  5. Lub footcloth ntawm systemd cov ntaub ntawv thiab cov footcloth ntawm bash scripts yog launched.

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Qhov kev daws teeb meem no muaj ntau yam teeb meem pom tseeb:

  1. CoreOS ISO tau deprecated.
  2. Ntau qhov kev ua haujlwm tsis siv neeg thiab ua khawv koob thaum tsiv / tsim VMs.
  3. Nyuaj nrog kev hloov kho tshiab thiab thaum xav tau qee qhov version ntawm software. Txawm ntau lom zem nrog kernel modules.
  4. VMs tsis tau txais yam tsis muaj ntaub ntawv, i.e. VMs tshwm sim nrog lub disk nrog cov neeg siv cov ntaub ntawv txuas ntxiv.
  5. Ib tug neeg tau tas li screwing li systemd unit dependencies thiab CoreOS yuav khov thaum rebooting. Nws nyuaj rau ntes qhov no siv cov cuab yeej muaj nyob hauv CoreOS.
  6. Secrets tswj.
  7. Tsis muaj CM. Muaj bash thiab YML configs rau CoreOS.

Txhawm rau siv VM teeb tsa, koj yuav tsum rov pib dua nws, tab sis nws yuav tsis rov pib dua. Nws zoo li qhov teeb meem pom tseeb, tab sis tsis muaj cov disks tsis tu ncua - tsis muaj qhov twg los khaws cov cav. Zoo, ok, cia peb sim ntxiv cov ntsiav thauj khoom xaiv kom cov cav yuav raug xa mus. Tab sis tsis yog, yuav ua li cas nyuaj nws tag nrho.

Hnub #0: Pom qhov teeb meem

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Nws yog qhov kev txhim kho ib txwm muaj: jenkins, kuaj ib puag ncig, saib xyuas, sau npe. CoreOS tau tsim los rau hosting k8s pawg, i.e. Qhov teeb meem yog li cas CoreOS tau siv. Thawj kauj ruam yog xaiv ib pawg. Peb tau cog lus rau:

  1. CentOS raws li lub hauv paus faib, vim Qhov no yog qhov ze tshaj plaws rau kev tsim khoom ib puag ncig.
  2. Ua tau zoo rau configuration tswj, vim muaj kev ntsuam xyuas dav rau nws.
  3. Jenkins raws li lub moj khaum rau automating cov txheej txheem uas twb muaj lawm, vim nws twb tau nquag siv rau txoj kev loj hlob
  4. Hyper-V raws li lub platform virtualization. Muaj ntau qhov laj thawj uas dhau mus dhau ntawm cov dab neeg, tab sis luv luv - peb siv tsis tau cov huab, peb yuav tsum siv peb tus kheej kho vajtse.

Hnub No. 30: Txhim kho cov ntawv cog lus uas twb muaj lawm - Kev Pom Zoo raws li Txoj Cai

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Thaum cov pawg tau meej meej, kev npaj rau kev txav mus los pib. Txhim kho cov ntawv cog lus uas twb muaj lawm hauv daim ntawv code (Kev pom zoo raws li Code!). Kev hloov pauv kev siv tes ua haujlwm -> tshuab -> automation.

1. Configure VMs

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Ansible ua haujlwm zoo ntawm qhov no. Nrog tsawg kawg ntawm lub cev txav koj tuaj yeem tswj hwm VM teeb tsa:

  1. Tsim git repository.
  2. Peb muab cov npe ntawm VMs rau hauv cov khoom muag, kev teeb tsa hauv phau ntawv ua si thiab lub luag haujlwm.
  3. Peb tab tom teeb tsa tus qhev tshwj xeeb jenkins uas koj tuaj yeem khiav Ansible.
  4. Peb tsim ib txoj haujlwm thiab teeb tsa Jenkins.

Thawj txheej txheem yog npaj txhij. Cov ntawv cog lus raug kho.

2. Tsim VM tshiab

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Txhua yam ntawm no tsis yooj yim heev. Nws tsis yooj yim heev los tsim VMs ntawm Hyper-V los ntawm Linux. Ib qho ntawm kev sim ua kom cov txheej txheem no yog:

  1. Ansbile txuas ntawm WinRM mus rau lub qhov rais host.
  2. Ansible sau ib tsab ntawv powershell.
  3. Powershell tsab ntawv tsim VM tshiab.
  4. Siv Hyper-V / ScVMM, thaum tsim VM hauv cov qhua OS, lub hostname tau teeb tsa.
  5. Thaum hloov kho DHCP daim ntawv xauj tsev, VM xa nws lub npe host.
  6. Standard ddns & dhcp kev koom ua ke ntawm Domain Controller sab teeb tsa cov ntaub ntawv DNS.
  7. Koj tuaj yeem ntxiv VM rau koj cov khoom muag thiab teeb tsa nws nrog Ansible.

3.Tsim VM template

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Lawv tsis tau tsim ib yam dab tsi ntawm no - lawv nqa ib lub hnab ntim khoom.

  1. Ntxiv cov packer, kickstart config rau git repository.
  2. Teeb tsa tus qhev tshwj xeeb jenkins nrog hyper-v thiab Packer.
  3. Peb tsim ib txoj haujlwm thiab teeb tsa Jenkins.

Qhov link no ua haujlwm li cas:

  1. Packer tsim ib qho VM khoob thiab khaws cov ISO.
  2. VM khau boots, Packer nkag mus rau hauv cov lus txib rau hauv bootloader siv peb cov ntaub ntawv kickstart los ntawm floppy disk lossis http.
  3. Anaconda yog launched nrog peb config, thiab thawj OS configuration yog ua tiav.
  4. Packer tos VM kom muaj.
  5. Packer hauv VM khiav ansible hauv hom hauv zos.
  6. Ansible siv tib lub luag haujlwm uas nws ua haujlwm hauv qib # 1.
  7. Packer xa tawm VM template.

Hnub #75: Reactor qhov kev pom zoo tsis tawg = Test ansible + Testkitchen

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Kev ntes cov rooj sib txoos hauv cov cai yuav tsis txaus. Tom qab tag nrho, yog hais tias nyob rau hauv lub ins thiab outs ntawm tus txheej txheem koj xav hloov ib yam dab tsi, koj yuav ua txhaum ib yam dab tsi. Yog li ntawd, nyob rau hauv cov ntaub ntawv ntawm infrastructure, kev ntsuam xyuas ntawm no heev infrastructure tshwm. Txhawm rau synchronize kev paub hauv pab pawg, peb pib sim Ansible lub luag haujlwm. Kuv yuav tsis mus rau qhov tob vim ... muaj ib tsab xov xwm piav txog cov xwm txheej ntawm lub sijhawm ntawd Ntsuam xyuas kuv yog tias koj tuaj yeem ua tau lossis ua YML programmers npau suav ntawm kev sim Ansible?(spoiler qhov no tsis yog qhov kawg version thiab tom qab ntawd txhua yam dhau los ua nyuaj Yuav pib sim Ansible li cas, rov ua qhov project hauv ib xyoos thiab tsis mus vwm).

Hnub #130: Tej zaum CentOS + ansible tsis xav tau? tej zaum openshift?

Peb yuav tsum nkag siab tias cov txheej txheem ntawm kev qhia txog kev tsim vaj tsev tsis yog tib qho thiab muaj cov phiaj xwm sab nrauv. Piv txwv li, ib qho kev thov tuaj yeem tso peb daim ntawv thov hauv openshift thiab qhov no ua rau kev tshawb fawb ntau tshaj ib lub lis piam Peb tso daim ntawv thov hauv Openshift thiab sib piv cov cuab yeej uas twb muaj lawm uas ua rau qeeb ntawm kev txav mus los. Qhov tshwm sim tau muab tawm tias openshift tsis npog tag nrho cov kev xav tau; koj xav tau cov khoom siv tiag tiag, lossis tsawg kawg muaj peev xwm ua si nrog cov ntsiav.

Hnub #170: Openshift tsis haum, cia peb siv sijhawm nrog Windows Azure Pack?

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Hyper-V tsis yog tus phooj ywg zoo, SCVMM tsis ua kom nws zoo dua. Tab sis muaj ib yam li Windows Azure Pack, uas yog ib qho ntxiv rau SCVMM thiab ua raws li Azure. Tab sis qhov tseeb, cov khoom zoo li tso tseg: cov ntaub ntawv tau tawg cov kev sib txuas thiab yog qhov sib txawv heev. Tab sis raws li ib feem ntawm txoj kev kawm ntawm cov kev xaiv rau simplifying lub neej ntawm peb huab, lawv saib nws ib yam nkaus thiab.

Hnub #250: Windows Azure Pob tsis zoo heev. Peb tseem nyob ntawm SCVMM

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Windows Azure Pack zoo li tau cog lus tseg, tab sis nws tau txiav txim siab tsis coj WAP nrog nws qhov nyuaj rau hauv lub kaw lus vim tias tsis tsim nyog nta thiab nyob nrog SCVMM.

Hnub #360: Noj ntxhw los ntawm daim

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Tsuas yog ib xyoos tom qab lub platform rau kev txav mus los tau npaj tau thiab cov txheej txheem txav tau pib. Rau lub hom phiaj no, SMART txoj haujlwm tau teeb tsa. Peb tau kuaj xyuas tag nrho cov VMs thiab pib txheeb xyuas qhov teeb tsa ib qho los ntawm ib qho, piav qhia hauv Ansible, thiab npog nws nrog kev sim.

Hnub #450: Koj tau txais qhov system zoo li cas?

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Cov txheej txheem nws tus kheej tsis nthuav. Nws yog niaj hnub, nws tuaj yeem raug sau tseg tias feem ntau ntawm cov kev teeb tsa tau yooj yim los yog isomorphic thiab raws li Pareto hauv paus ntsiab lus, 80% ntawm VM configurations xav tau 20% ntawm lub sijhawm. Los ntawm tib lub hauv paus ntsiab lus, 80% ntawm lub sijhawm tau siv los npaj kev txav mus los thiab tsuas yog 20% ​​ntawm kev txav mus los ntawm nws tus kheej.

Hnub #540: Kawg

Ansible: Kev tsiv teb tsaws ntawm 120 VM teeb tsa los ntawm CoreOS rau CentOS hauv 18 lub hlis

Dab tsi tshwm sim hauv 18 lub hlis?

  1. Cov ntawv cog lus tau dhau los ua cov cai.
  2. Kev siv tes ua haujlwm -> Mechanization -> Automation.

Tau qhov twg los: www.hab.com

Ntxiv ib saib