{"id":80289,"date":"2020-05-05T01:42:36","date_gmt":"2020-05-04T23:42:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev"},"modified":"2020-05-05T01:42:36","modified_gmt":"2020-05-04T23:42:36","slug":"ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev","title":{"rendered":"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/c12bef0589cc29a2a63840ecf5572357.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>See on ettekande kokkuv\u00f5te <noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow\/2019\/meetups#2331050\">DevopsConf 2019-10-01<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"http:\/\/spblug.org\/\">SPbLUG 2019-09-25<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>See on projekti lugu, kus kasutati kohandatud konfiguratsioonihalduse s\u00fcsteemi ja miks kuni Ansible'ile \u00fcleminek venis 18 kuud.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"den---hhh-before-the-beginning\">P\u00e4ev \u2116 -XXX: Enne algust<\/h2>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/22ebc514d85df93237e7f7d262a393a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Alguses koosnes infrastruktuur paljusid eraldiseisvaid hoste, mille haldamiseks kasutati Hyper-V. Virtuaalse masina loomine n\u00f5udis hulgaliselt toiminguid: kettad \u00f5igesse kohta panna, DNS m\u00e4\u00e4rata, DHCP reserveerida, VM-i konfiguratsioon git-repositooriumisse panna. See protsess oli osaliselt mehhaniseeritud, kuid n\u00e4iteks VM-id jagati hostide vahel k\u00e4sitsi. Kuid n\u00e4iteks arendajad said VM-i konfiguratsiooni git-is muutes selle taastada VM-i taask\u00e4ivitamisega.<\/p>\n<p><\/p>\n<h3 id=\"custom-configuration-management-solution\">Kohandatud konfiguratsioonihalduse lahendus<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/166b61b7f70c49ba06e622cd3592826f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Algne idee, kahtlustan, pidi olema nagu IaC: hulk state'ita VM-e, mis taask\u00e4ivitamisel oma oleku nulliks. Kuidas n\u00e4gi v\u00e4lja VM-i konfiguratsiooni haldamine? Koonduvalt n\u00e4eb see lihtne v\u00e4lja:<\/p>\n<p><\/p>\n<ol>\n<li>VM-idele kinnitati staatiline MAC.<\/li>\n<li>VM-idele \u00fchendati ISO koos CoreOS-i ja laadimisdiskiga.<\/li>\n<li>CoreOS k\u00e4ivitab kohandamisskripti, laadides selle WEB-serverist alla oma IP-aadressi alusel.<\/li>\n<li>Skript t\u00f5mbab SCP kaudu alla VM-i konfiguratsiooni, tuginedes IP-aadressile.<\/li>\n<li>K\u00e4ivituvad systemd \u00fcksuste failide jadad ja bash-skriptide jadad.<\/li>\n<\/ol>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/6baa343ddc2b8df8812f2ed282e5bc3a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sellel lahendusel oli mitu ilmset probleemi:<\/p>\n<p><\/p>\n<ol>\n<li>ISO CoreOS-is oli vananenud.<\/li>\n<li>Palju keerukaid automatiseeritud toiminguid ja maagiat VM-i migreerimisel\/loomisel.<\/li>\n<li>Uuendamisega oli keeruline, eriti kui konkreetses versioonis tarkvara vajati. Veelgi keerulisem oli tuumamoodulitega.<\/li>\n<li>VM-id ei olnud sugugi andmeta, st ilmusid VM-id, millel oli t\u00e4iendavalt \u00fchendatud kett kasutajate andmetega.<\/li>\n<li>Keegi tegi pidevalt vigu systemd \u00fcksuste s\u00f5ltuvustega ja CoreOS-i taask\u00e4ivitamisel hangus see. Olemasolevate vahenditega oli CoreOS-is seda probleemset tuvastada keeruline.<\/li>\n<li>Salajaste andmete haldamine.<\/li>\n<li>CM ei olnud praktiliselt olemas. Oli bash ja CoreOS-i YML konfiguratsioonid.<\/li>\n<\/ol>\n<p><\/p>\n<p>VM-i konfiguratsiooni rakendamiseks on vajalik selle taask\u00e4ivitamine, kuid see ei pruugi taask\u00e4ivituda. Tundub ilmne probleem, kuid p\u00fcsivad kettad puuduvad \u2014 logisid pole kuhugi salvestada. Noh, proovime lisada kernelibootimise valikuid, et logid edastataks. Kuid ei, k\u00f5ik tundub nii keeruline.<\/p>\n<p><\/p>\n<h2 id=\"den-0-priznanie-problemy\">P\u00e4ev nr 0: Probleemi tunnustamine<\/h2>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/d80b98b91624085d5d11fc54647a55bc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>See oli tavaline arenduse infrastruktuur: jenkins, testkeskkonnad, j\u00e4lgimised, registry. CoreOS m\u00f5eldi k8s klastrite hostimiseks, st probleem seisnes selles, kuidas CoreOS'i kasutati. Esimene samm oli steigi valimine. Otsustasime:<\/p>\n<p><\/p>\n<ol>\n<li><strong>CentOS<\/strong> kas aluseks olev distributsi, kuna see on k\u00f5ige l\u00e4hedasem tootmisringkondadele.<\/li>\n<li><strong>Ansible<\/strong> konfiguratsioonide haldamiseks, kuna selle kohta oli ulatuslikku ekspertiisi.<\/li>\n<li><strong>Jenkins<\/strong> olemasolevate protsesside automatiseerimise raamistiku n\u00e4ol, kuna seda kasutati juba aktiivselt arendusprotsessides.<\/li>\n<li><strong>Hyper-V<\/strong> virtualiseerimise platvormina. On mitmeid p\u00f5hjuseid, mis \u00fcletavad selle jutu, kuid l\u00fchidalt \u2014 me ei saa kasutada pilvi, peame kasutama oma riistvara.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"den-30-fiksiruem-suschestvuyuschie-dogovorennosti---agreements-as-code\">P\u00e4ev \u211630: Salvestame olemasolevad lepped \u2014 Agreements as Code<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/47a8cc980940b5080e195267d686df25.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kui steik oli selge, algas ettevalmistus kolimiseks. Olemasolevate lepingute salvestamine koodina (<strong>Agreements as Code<\/strong>!). \u00dcleminek <em>k\u00e4te t\u00f6\u00f6<\/em> -&gt; <em>mehhaniseerimine<\/em> -&gt; <em>automatiseerimine<\/em>.<\/p>\n<p><\/p>\n<h4 id=\"1-configure-vms\">1. Konfigureeri virtuaalmasinad<\/h4>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/90b3c4ec5d4234fc218295bd9a34d676.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ansible teeb selle \u00fclesande suurep\u00e4raselt. Minimalsete pingutustega saab hallata VM-de konfiguratsioone:<\/p>\n<p><\/p>\n<ol>\n<li>Loome git reposti.<\/li>\n<li>Kogume VM-id inventari, konfiguratsioonid playbookidesse ja rollidesse.<\/li>\n<li>Seame \u00fcles spetsiaalse Jenkins slave'i, millelt on v\u00f5imalik Ansible'i k\u00e4ivitada.<\/li>\n<li>Loome t\u00f6\u00f6, seadistame Jenkinsit.<\/li>\n<\/ol>\n<p><\/p>\n<p>Esimene protsess on valmis. Kokku lepingud on kinnitatud.<\/p>\n<p><\/p>\n<h4 id=\"2-create-new-vm\">2. Looge uus VM<\/h4>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/3f6a02b170e28fd34e8f5fa65d1606c2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Siin ei olnud k\u00f5ik v\u00e4ga mugav. Linuxist ei olnud v\u00e4ga mugav luua VM-e Hyper-V-s. \u00dcks proovidest selle protsessi mehhaniseerimiseks oli:<\/p>\n<p><\/p>\n<ol>\n<li>Ansible \u00fchendub WinRM kaudu Windowsi hostiga.<\/li>\n<li>Ansible k\u00e4ivitab PowerShell skripti.<\/li>\n<li>PowerShell skript loob uue VM-i.<\/li>\n<li>Hyper-V\/ScVMM abil, kui VM-i luuakse, on k\u00fclalis-OS-is seadistatud hostname.<\/li>\n<li>VM saadab DHCP lease'i uuendamisel oma hostname'i.<\/li>\n<li>DDNS ja DHCP standardne integreerimine Domain Controller'i poolest seadistab DNS kirje.<\/li>\n<li>VM-e saab lisada inventari ja seadistada nende Ansible'i.<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"3-create-vm-template\">3. Looge VM-i mall<\/h4>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/f10929c1bd5b350c16bb691dce61653a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Siin ei hakanud me midagi leiutama \u2014 v\u00f5tsime Packer'i.<\/p>\n<p><\/p>\n<ol>\n<li>Paneme Git reposse Packer'i ja kickstarti konfi.<\/li>\n<li>Seame \u00fcles spetsiaalse Jenkins slave'i Hyper-V ja Packer'i jaoks.<\/li>\n<li>Loome t\u00f6\u00f6, seadistame Jenkinsit.<\/li>\n<\/ol>\n<p><\/p>\n<p>Kuidas see kombinatsioon t\u00f6\u00f6tab:<\/p>\n<p><\/p>\n<ol>\n<li>Packer loob t\u00fchja VM-i ning \u00fchendab ISO.<\/li>\n<li>VM k\u00e4ivitub, Packer annab k\u00e4skluse kasutada meie kickstart faili ketasel v\u00f5i http kaudu.<\/li>\n<li>K\u00e4ivitub Anaconda koos meie konfiguuri, tehakse OS-i esialgne seadistamine.<\/li>\n<li>Packer ootab VM-i k\u00e4ttesaadavust.<\/li>\n<li>Packer VM sees ansible running in local mode.<\/li>\n<li>Ansible uses exactly the same roles as in step \u21161.<\/li>\n<li>Packer exports the VM template.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"den-75-refaktorim-dogovorennosti-ne-lomaya--test-ansible--testkitchen\">Day \u211675: Refactoring agreements without breaking = Test ansible + Testkitchen<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/1b90074f3b17a77a732a259efdda518c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Simply fixing the agreements in code may not be enough. If during the process you want to change something, you might break something. Therefore, infrastructure testing becomes essential. To synchronize knowledge within the team, we started testing Ansible roles. I won't go into detail as there is an article describing the events at that time. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/437004\/\">Test me if you can, or do YML programmers dream of testing ansible?<\/a><\/noindex>(spoiler, this was not the final version and things got more complicated later) <noindex><a rel=\"nofollow\" href=\"http:\/\/www.goncharov.xyz\/it\/ansible-testing-ru.html\">How to start testing Ansible, refactor a project in a year, and not lose your mind.<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h3 id=\"den-130-a-mozhet-centosansible-ne-nuzhen-mozhet-openshift\">Day \u2116130: Maybe CentOS+ansible isn't needed? Maybe openshift?<\/h3>\n<p><\/p>\n<p>It's important to understand that the infrastructure integration process wasn't the only one, and there were side projects. For instance, a request came to run our application in openshift, which led to research lasting more than a week. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/441928\/\">K\u00e4ivitame rakenduse Openshiftis ja v\u00f5rdleme olemasolevat t\u00f6\u00f6riistade komplekti<\/a><\/noindex> mis pidurdas kolimise protsessi. Tulemuseks oli, et openshift ei katnud k\u00f5iki vajadusi, vajalik on reaalne riistvara v\u00f5i v\u00e4hemalt v\u00f5imalus m\u00e4ngida tuumaga.<\/p>\n<p><\/p>\n<h3 id=\"den-170-openshift-ne-podhodit-risknem-s-windows-azure-pack\">P\u00e4ev \u2116170: Openshift ei sobi, riskime Windows Azure Packiga?<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/73cbf7fd7e0330676c4d937df68289f5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hyper-V ei ole eriti s\u00f5bralik, SCVMM ei tee sellest palju paremat. Kuid on olemas selline asi nagu Windows Azure Pack, mis on SCVMM-i pealne ja matkib Azure'i. Kuid tegelikkuses n\u00e4eb toode v\u00e4lja mahaj\u00e4etud: dokumentatsioon on katkenud linkidega ja \u00fcsna vaene. Kuid meie pilve elu lihtsustamise v\u00f5imaluste uurimisel vaatasime ka seda.<\/p>\n<p><\/p>\n<h3 id=\"den-250-windows-azure-pack-ne-ochen-ostaemsya-na-scvmm\">P\u00e4ev \u2116250: Windows Azure Pack ei ole v\u00e4ga hea. J\u00e4tkame SCVMM-is.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/8753b3da72adfb035d1a2f23ad28809b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Windows Azure Pack n\u00e4gi v\u00e4lja paljut\u00f5otav, kuid otsustasime mitte tuua WAP-i koos selle raskustega s\u00fcsteemi, et v\u00e4ltida tarbetuid funktsioone, ja j\u00e4ime SCVMM-i.<\/p>\n<p><\/p>\n<h3 id=\"den-360-edim-slona-po-chastyam\">P\u00e4ev \u2116360: S\u00f6\u00f6dame elevanti t\u00fckkhaaval<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/84e003906234c46b57b7769abd7b7993.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ainult aasta p\u00e4rast oli platvorm valmis, kuhu kolida, ja kolimisprotsess algas. Selleks seati eesm\u00e4rgiks S.M.A.R.T. \u00fclesanne. Kirjutasime \u00fcles k\u00f5ik virtuaalsed masinad ja hakkasime \u00fcksikult nende konfiguratsiooniga tegelema, kirjeldama seda Ansible'is, katma testidega.<\/p>\n<p><\/p>\n<h3 id=\"den-450-kakaya-sistema-poluchilas\">P\u00e4ev \u2116450: Milline s\u00fcsteem v\u00e4lja tuli?<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/1d0c64e6a229a0b4e0e49f7b832147ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Protsess ise ei ole huvitav. See on rutiinne, v\u00f5ib m\u00e4rkida, et enamus konfiguratsioone olid suhteliselt lihtsad v\u00f5i isomorfsed ning Pareto p\u00f5him\u00f5tte kohaselt n\u00f5udis 80% konfiguratsioone 20% ajast. Sama printsiibi kohaselt kulus 80% ajast ettevalmistamiseks ja ainult 20% \u00fcleviimiseks. <\/p>\n<p><\/p>\n<h2 id=\"den-540-final\">P\u00e4ev nr 540: Finaal<\/h2>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Konfiguratsiooni migreerimine 120 VM-i CoreOS-ilt CentOS-ile 18 kuu jooksul\" src=\"\/wp-content\/uploads\/2020\/05\/7e3d1936dca58506d3b8efcf4ee3c115.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mis siis 18 kuu jooksul juhtus?<\/p>\n<p><\/p>\n<ol>\n<li>Kokkulepped muutusid koodiks.<\/li>\n<li><em>K\u00e4sit\u00f6\u00f6<\/em> -&gt; <em>Mehaanizatsioon<\/em> -&gt; <em>Automatiseerimine<\/em>.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"links\">Lingid<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/500350\/\">Inglise versioon<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.goncharov.xyz\/it\/coreos2centos-ru.html\">Ristpostitus isiklikust blogist<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.mail.ru\/public\/UDCZ\/WM4Y9Qv3j\">esitlused<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/500058\/\">How to start testing Ansible, refactor a project in a year, and not lose your mind.<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/467171\/\">Kogemused \u00fcle 200 000 rea infrastruktuuri koodist testimisel<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/441928\/\">Laseme juurutada OpenShiftisse<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/342216\/\">Kuidas testida oma operatsioonis\u00fcsteemi distributsiooni<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/437004\/\">K\u00fcsi minult, kui saad. Kas YML arendajad unistavad ansible'i testimisest?<\/a><\/noindex><\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/500040\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0430 DevopsConf 2019-10-01 \u0438 SPbLUG 2019-09-25. \u042d\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 Ansible \u0437\u0430\u0442\u044f\u043d\u0443\u043b\u0441\u044f \u043d\u0430 18 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u0414\u0435\u043d\u044c \u2116 -\u0425\u0425\u0425: Before the beginning \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 \u0441\u043e\u0431\u043e\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Hyper-V. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u0432 \u043d\u0443\u0436\u043d\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80290,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0430 DevopsConf 2019-10-01 \u0438 SPbLUG 2019-09-25. \u042d\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 Ansible \u0437\u0430\u0442\u044f\u043d\u0443\u043b\u0441\u044f \u043d\u0430 18 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u0414\u0435\u043d\u044c \u2116 -\u0425\u0425\u0425: Before the beginning \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 \u0441\u043e\u0431\u043e\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Hyper-V. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u0432 \u043d\u0443\u0436\u043d\u043e\u0435\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Ansible: \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 120 VM c CoreOS \u043d\u0430 CentOS \u0437\u0430 18 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0430 DevopsConf 2019-10-01 \u0438 SPbLUG 2019-09-25. \u042d\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 Ansible \u0437\u0430\u0442\u044f\u043d\u0443\u043b\u0441\u044f \u043d\u0430 18 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u0414\u0435\u043d\u044c \u2116 -\u0425\u0425\u0425: Before the beginning \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 \u0441\u043e\u0431\u043e\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Hyper-V. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u0432 \u043d\u0443\u0436\u043d\u043e\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-04T23:42:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-04T23:42:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ansible: 120 VM konfiguratsiooni migreerimine CoreOS-ilt CentOS-ile 18 kuu jooksul | ProHoster","description":"See on ettekanne DevOpsConf 2019-10-01 ja SPbLUG 2019-09-25. See on projekti lugu, kus kasutati isekodeeritud konfiguratsioonihalduse s\u00fcsteemi ja miks \u00fcleviimine Ansible'ile venis 18 kuuks. P\u00e4ev nr -XXX: Enne algust. Algne infrastruktuur koosnes paljusid eraldiseisvaid hoste Hyper-V halduses. Virtuaalmasina loomine n\u00f5udis mitmeid toiminguid: ketaste paigutamine \u00f5igesse kohta.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Ansible: \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 120 VM c CoreOS \u043d\u0430 CentOS \u0437\u0430 18 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 | ProHoster","og:description":"\u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0430 DevopsConf 2019-10-01 \u0438 SPbLUG 2019-09-25. \u042d\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0435\u0437\u0434 \u043d\u0430 Ansible \u0437\u0430\u0442\u044f\u043d\u0443\u043b\u0441\u044f \u043d\u0430 18 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u0414\u0435\u043d\u044c \u2116 -\u0425\u0425\u0425: Before the beginning \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 \u0441\u043e\u0431\u043e\u0439 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Hyper-V. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439: \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u0432 \u043d\u0443\u0436\u043d\u043e\u0435","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-04T23:42:36+00:00","article:modified_time":"2020-05-04T23:42:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80289","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:21:22","updated":"2022-09-30 18:16:02"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/80289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=80289"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/80289\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/80290"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=80289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=80289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=80289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}