Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Eyi jẹ iwe afọwọkọ ti ọrọ naa DevopsConf 2019-10-01 и SPbLUG 2019-09-25.

Eyi ni itan ti iṣẹ akanṣe kan ti o lo eto iṣakoso iṣeto ti ara ẹni ati idi ti gbigbe si Ansible gba awọn oṣu 18.

Ọjọ No. - ХХХ: Ṣaaju ibẹrẹ

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Ni ibẹrẹ, awọn amayederun ni ọpọlọpọ awọn agbalejo lọtọ ti nṣiṣẹ Hyper-V. Ṣiṣẹda ẹrọ foju kan nilo awọn igbesẹ pupọ: fifi awọn disiki si aye to tọ, fiforukọṣilẹ DNS, ifipamọ DHCP, fifi iṣeto VM sinu ibi ipamọ git. Ilana yi ti a darí darí, sugbon fun apẹẹrẹ, VMs pin laarin awọn ogun nipa ọwọ. Ṣugbọn, fun apẹẹrẹ, awọn olupilẹṣẹ le ṣe atunṣe iṣeto VM ni git ati lo nipa atunbere VM naa.

Aṣa iṣeto ni Management Solusan

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Ero atilẹba, Mo fura, ni a loyun bi IaC: ọpọlọpọ awọn VM ti ko ni ipinlẹ ti o tun ipo wọn pada si odo nigbati o tun bẹrẹ. Kini iṣakoso iṣeto VM? Sikematiki o wulẹ rọrun:

  1. MAC aimi ni a fi mọ mọlẹ fun VM naa.
  2. ISO pẹlu CoreOS ati disiki bata ni a ti sopọ si VM.
  3. CoreOS ṣe ifilọlẹ iwe afọwọkọ isọdi nipa gbigba lati ayelujara lati olupin WEB ti o da lori IP rẹ.
  4. Iwe afọwọkọ ṣe igbasilẹ iṣeto VM nipasẹ SCP ti o da lori adiresi IP naa.
  5. Aṣọ ẹsẹ ti awọn faili ẹyọ ti eto ati aṣọ-ẹsẹ ti awọn iwe afọwọkọ bash ti ṣe ifilọlẹ.

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Ojutu yii ni ọpọlọpọ awọn iṣoro ti o han gbangba:

  1. CoreOS ISO ti yọkuro.
  2. Pupọ ti awọn iṣe adaṣe adaṣe eka ati idan nigba gbigbe / ṣiṣẹda awọn VM.
  3. Iṣoro pẹlu imudojuiwọn ati nigbati ẹya kan ti sọfitiwia nilo. Paapaa igbadun diẹ sii pẹlu awọn modulu ekuro.
  4. VMs won ko bẹ gba lai data, i.e. Awọn VM han pẹlu disiki pẹlu afikun data olumulo ti a gbe sori.
  5. Ẹnikan n ṣe agbega awọn igbẹkẹle ẹyọ ti eto ati CoreOS yoo di didi nigbati o tun bẹrẹ. O nira lati mu eyi ni lilo awọn irinṣẹ to wa ni CoreOS.
  6. asiri isakoso.
  7. Ko si CM. Bash ati awọn atunto YML wa fun CoreOS.

Lati lo iṣeto VM, o nilo lati tun atunbere, ṣugbọn o le ma tun bẹrẹ. O dabi pe iṣoro ti o han gedegbe, ṣugbọn ko si awọn disiki itẹramọṣẹ - ko si aye lati ṣafipamọ awọn akọọlẹ. O dara, dara, jẹ ki a gbiyanju lati ṣafikun aṣayan ikojọpọ kernel ki awọn igbasilẹ naa yoo firanṣẹ. Ṣugbọn rara, bawo ni gbogbo rẹ ti jẹ idiju.

Ọjọ # 0: Ṣe idanimọ iṣoro naa

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

O jẹ awọn amayederun idagbasoke deede: jenkins, awọn agbegbe idanwo, ibojuwo, iforukọsilẹ. CoreOS jẹ apẹrẹ fun gbigbalejo awọn iṣupọ k8s, i.e. iṣoro naa ni bi a ṣe lo CoreOS. Igbesẹ akọkọ ni yiyan akopọ kan. A yanju lori:

  1. CentOS bi pinpin mimọ, nitori Eyi ni pinpin ti o sunmọ julọ si awọn agbegbe iṣelọpọ.
  2. O ṣee fun isakoso iṣeto ni, nitori àyẹ̀wò gbòòrò sí i lórí rẹ̀.
  3. Jenkins bi ilana fun automating tẹlẹ lakọkọ, nitori o ti lo tẹlẹ fun awọn ilana idagbasoke
  4. Hyper-V bi ipilẹ agbara. Awọn idi pupọ lo wa ti o kọja opin itan naa, ṣugbọn ni kukuru - a ko le lo awọn awọsanma, a gbọdọ lo ohun elo tiwa.

Ọjọ No.. 30: Titunṣe awọn adehun ti o wa tẹlẹ - Awọn adehun bi koodu

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Nigbati akopọ naa ko o, awọn igbaradi fun gbigbe naa bẹrẹ. Ṣiṣe atunṣe awọn adehun ti o wa tẹlẹ ni irisi koodu (Awọn adehun bi koodu!). Iyipada iṣẹ ọwọ -> mechanization -> adaṣe.

1. Tunto VMs

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Ansible ṣe iṣẹ nla ti eyi. Pẹlu o kere ju awọn gbigbe ara o le gba iṣakoso ti awọn atunto VM:

  1. Ṣẹda ibi ipamọ git kan.
  2. A fi awọn akojọ ti awọn VM ni oja, awọn atunto ni playbooks ati awọn ipa.
  3. A ti wa ni eto soke pataki kan jenkins ẹrú lati eyi ti o le ṣiṣe Ansible.
  4. A ṣẹda iṣẹ kan ati tunto Jenkins.

Ilana akọkọ ti šetan. Awọn adehun wa titi.

2. Ṣẹda titun VM

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Ohun gbogbo nibi ko rọrun pupọ. Ko rọrun pupọ lati ṣẹda awọn VM lori Hyper-V lati Linux. Ọkan ninu awọn igbiyanju lati ṣatunṣe ilana yii ni:

  1. Ansbile so nipasẹ WinRM si awọn windows ogun.
  2. Ansible nṣiṣẹ a powershell akosile.
  3. Iwe afọwọkọ Powershell ṣẹda VM tuntun kan.
  4. Lilo Hyper-V/ScVMM, nigba ṣiṣẹda VM kan ninu OS alejo, a tunto orukọ olupin naa.
  5. Nigbati o ba n ṣe imudojuiwọn iyalo DHCP, VM firanṣẹ orukọ olupin rẹ.
  6. Standard ddns & iṣiṣẹpọ dhcp lori ẹgbẹ Alakoso Aṣẹ tunto igbasilẹ DNS naa.
  7. O le ṣafikun VM kan si akojo oja rẹ ki o tunto pẹlu Ansible.

3.Create VM awoṣe

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Wọn ko ṣẹda nkankan nibi - wọn mu apoti kan.

  1. Ṣafikun apoti, atunto kickstart si ibi ipamọ git.
  2. Eto soke pataki jenkins ẹrú pẹlu hyper-v ati Packer.
  3. A ṣẹda iṣẹ kan ati tunto Jenkins.

Bawo ni ọna asopọ yii ṣe n ṣiṣẹ:

  1. Packer ṣẹda VM ti o ṣofo ati gbe ISO soke.
  2. Awọn bata orunkun VM, Packer ti nwọ aṣẹ sinu bootloader lati lo faili kickstart wa lati disiki floppy tabi http.
  3. Anaconda ṣe ifilọlẹ pẹlu atunto wa, ati iṣeto OS akọkọ ti ṣe.
  4. Packer nduro fun VM lati wa.
  5. Packer inu VM nṣiṣẹ aibikita ni ipo agbegbe.
  6. Ansible nlo awọn ipa kanna ti o ṣiṣẹ ni igbesẹ #1.
  7. Packer okeere awoṣe VM.

Day # 75: Refactor adehun lai ṣẹ = Idanwo ansible + Testkitchen

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Yiya awọn apejọ ni koodu le ma to. Lẹhinna, ti o ba wa ninu awọn ins ati awọn ita ti ilana ti o fẹ yi nkan pada, o le fọ nkan kan. Nitorinaa, ninu ọran ti awọn amayederun, idanwo ti amayederun pupọ yii han. Lati mu imọ ṣiṣẹpọ laarin ẹgbẹ, a bẹrẹ idanwo awọn ipa Ansible. Emi kii yoo lọ sinu ijinle nitori ... nkan kan wa ti n ṣapejuwe awọn iṣẹlẹ ni aaye yẹn ni akoko Idanwo mi ti o ba le tabi ṣe ala awọn pirogirama YML ti idanwo Ansible?(spoiler eyi kii ṣe ẹya ikẹhin ati lẹhinna ohun gbogbo di idiju diẹ sii Bii o ṣe le bẹrẹ idanwo Ansible, ṣe atunṣe iṣẹ akanṣe ni ọdun kan ati ki o ma ṣe aṣiwere).

Ọjọ #130: Boya CentOS+ ko ṣee ṣe ko nilo? boya openshift?

A gbọdọ loye pe ilana ti iṣafihan awọn amayederun kii ṣe ọkan nikan ati pe awọn iṣẹ abẹ ẹgbẹ wa. Fun apẹẹrẹ, ibeere kan wa lati ṣe ifilọlẹ ohun elo wa ni ṣiṣi silẹ ati pe eyi yorisi iwadii fun diẹ sii ju ọsẹ kan lọ A ṣe ifilọlẹ ohun elo ni Openshift ati ṣe afiwe awọn irinṣẹ to wa tẹlẹ eyi ti o fa fifalẹ ilana gbigbe. Abajade ti jade pe ṣiṣiṣẹsẹhin ko bo gbogbo awọn iwulo; o nilo ohun elo gidi, tabi o kere ju agbara lati mu ṣiṣẹ pẹlu ekuro.

Ọjọ #170: Openshift ko dara, jẹ ki a ni aye pẹlu Windows Azure Pack?

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Hyper-V kii ṣe ọrẹ pupọ, SCVMM ko jẹ ki o dara julọ. Ṣugbọn iru nkan kan wa bi Windows Azure Pack, eyiti o jẹ afikun si SCVMM ati ṣe apẹẹrẹ Azure. Ṣugbọn ni otitọ, ọja naa dabi ẹni ti a kọ silẹ: awọn iwe-ipamọ ti fọ awọn ọna asopọ ati pe o fọnka pupọ. Ṣugbọn gẹgẹbi apakan ti ikẹkọ awọn aṣayan fun simplify igbesi aye awọsanma wa, wọn tun wo.

Ọjọ # 250: Windows Azure Pack ko dara pupọ. A duro lori SCVMM

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Windows Azure Pack wo ni ileri, ṣugbọn o pinnu lati ma mu WAP pẹlu awọn idiju rẹ sinu eto nitori awọn ẹya ti ko wulo ati duro pẹlu SCVMM.

Ọjọ # 360: Njẹ erin ni ẹyọkan

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Ni ọdun kan lẹhinna pẹpẹ fun gbigbe si ti ṣetan ati ilana gbigbe naa bẹrẹ. Fun idi eyi, a ṣeto iṣẹ-ṣiṣe SMART. A ṣayẹwo gbogbo awọn VM ati bẹrẹ lati ro ero iṣeto ni ọkan nipasẹ ọkan, ṣe apejuwe rẹ ni Ansible, ati ki o bo pẹlu awọn idanwo.

Ọjọ # 450: Iru eto wo ni o gba?

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Awọn ilana ara ni ko awon. O jẹ deede, o le ṣe akiyesi pe pupọ julọ awọn atunto jẹ irọrun rọrun tabi isomorphic ati ni ibamu si ilana Pareto, 80% ti awọn atunto VM nilo 20% ti akoko naa. Nipa ilana kanna, 80% ti akoko naa ni a lo ngbaradi gbigbe ati 20% nikan lori gbigbe funrararẹ.

Ọjọ # 540: ipari

Anfani: Iṣilọ ti iṣeto VM 120 lati CoreOS si CentOS ni awọn oṣu 18

Kini o ṣẹlẹ ni awọn oṣu 18?

  1. Awọn adehun di koodu kan.
  2. Iṣẹ ọwọ ọwọ -> Mechanization -> Adaṣiṣẹ.

orisun: www.habr.com