{"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\/cs\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev","title":{"rendered":"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/c12bef0589cc29a2a63840ecf5572357.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Toto je p\u0159epis prezentace na <noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow\/2019\/meetups#2331050\">DevopsConf 2019-10-01<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"http:\/\/spblug.org\/\">SPbLUG 2019-09-25<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>To je p\u0159\u00edb\u011bh projektu, ve kter\u00e9m byl pou\u017eit vlastn\u00ed syst\u00e9m spr\u00e1vy konfigurac\u00ed a pro\u010d se p\u0159echod na Ansible prot\u00e1hl na 18 m\u011bs\u00edc\u016f.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"den---hhh-before-the-beginning\">Den \u010d. -XXX: P\u0159ed za\u010d\u00e1tkem<\/h2>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/22ebc514d85df93237e7f7d262a393a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u016fvodn\u00ed infrastruktura byla tvo\u0159ena mnoha samostatn\u00fdmi servery \u0159\u00edzen\u00fdmi Hyper-V. Vytvo\u0159en\u00ed virtu\u00e1ln\u00edho stroje vy\u017eadovalo spoustu akc\u00ed: um\u00edstit disky na spr\u00e1vn\u00e9 m\u00edsto, nastavit DNS, rezervovat DHCP, um\u00edstit konfiguraci VM do git repozit\u00e1\u0159e. Tento proces byl \u010d\u00e1ste\u010dn\u011b zautomatizov\u00e1n, ale nap\u0159\u00edklad VM byly distribuov\u00e1ny mezi servery ru\u010dn\u011b. Nap\u0159\u00edklad, v\u00fdvoj\u00e1\u0159i mohli upravit konfiguraci VM v gitu a aplikovat ji restartov\u00e1n\u00edm VM.<\/p>\n<p><\/p>\n<h3 id=\"custom-configuration-management-solution\">Custom Configuration Management Solution<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/166b61b7f70c49ba06e622cd3592826f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u016fvodn\u00ed my\u0161lenku, podez\u0159\u00edv\u00e1m, zam\u00fd\u0161leli jako IaC: mnoh\u00e9 stateless VM, kter\u00e9 p\u0159i restartu resetovaly sv\u016fj stav. Jak vypadalo \u0159\u00edzen\u00ed konfigurac\u00ed VM? Schematicky to vypad\u00e1 jednodu\u0161e:<\/p>\n<p><\/p>\n<ol>\n<li>Pro VM se p\u0159id\u011bloval statick\u00fd MAC.<\/li>\n<li>K VM byla p\u0159ipojena ISO s CoreOS a spou\u0161t\u011bc\u00ed disk.<\/li>\n<li>CoreOS spou\u0161t\u00ed skript p\u0159izp\u016fsoben\u00ed, kter\u00fd stahuje z WEB serveru na z\u00e1klad\u011b sv\u00e9 IP.<\/li>\n<li>Skript st\u00e1hne p\u0159es SCP konfiguraci VM na z\u00e1klad\u011b IP adresy.<\/li>\n<li>Spou\u0161t\u00ed se s\u00e9rie unit soubor\u016f systemd a s\u00e9rie bash skript\u016f.<\/li>\n<\/ol>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/6baa343ddc2b8df8812f2ed282e5bc3a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Toto \u0159e\u0161en\u00ed m\u011blo mnoho z\u0159ejm\u00fdch probl\u00e9m\u016f:<\/p>\n<p><\/p>\n<ol>\n<li>ISO v CoreOS bylo deprecated.<\/li>\n<li>Mnoho slo\u017eit\u011b automatizovan\u00fdch akc\u00ed a magie p\u0159i migraci\/vytv\u00e1\u0159en\u00ed VM.<\/li>\n<li>S obt\u00ed\u017eemi s aktualizacemi a kdy\u017e je pot\u0159eba software ur\u010dit\u00e9 verze. A je\u0161t\u011b z\u00e1bavn\u011bj\u0161\u00ed u modul\u016f j\u00e1dra.<\/li>\n<li>VM nebyly tak \u00fapln\u011b bez dat, tj. objevily se VM, u kter\u00fdch byl p\u0159ipojen disk s u\u017eivatelsk\u00fdmi daty nav\u00edc.<\/li>\n<li>N\u011bkdo neust\u00e1le chyboval se z\u00e1vislostmi unit soubor\u016f systemd a p\u0159i restartu CoreOS zamrzla. S dostupn\u00fdmi prost\u0159edky v CoreOS to bylo problematick\u00e9 chytit.<\/li>\n<li>Spr\u00e1va tajemstv\u00ed.<\/li>\n<li>CM t\u00e9m\u011b\u0159 neexistovalo. Byl tu bash a YML konfigurace CoreOS.<\/li>\n<\/ol>\n<p><\/p>\n<p>Aby bylo mo\u017en\u00e9 aplikovat konfiguraci VM, je nutn\u00e9 ji restartovat, ale nemusela se restartovat. Zd\u00e1 se to jako z\u0159ejm\u00fd probl\u00e9m, ale nen\u00ed \u017e\u00e1dn\u00fd perzistentn\u00ed disk \u2014 logy nen\u00ed kam ulo\u017eit. No dob\u0159e, zkusme p\u0159idat mo\u017enosti zav\u00e1d\u011bn\u00ed j\u00e1dra, aby logy pos\u00edlaly. Ale ne, jak je to v\u0161echno slo\u017eit\u00e9.<\/p>\n<p><\/p>\n<h2 id=\"den-0-priznanie-problemy\">Den \u010d.0: P\u0159izn\u00e1n\u00ed probl\u00e9mu<\/h2>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/d80b98b91624085d5d11fc54647a55bc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>To byla b\u011b\u017en\u00e1 v\u00fdvojov\u00e1 infrastruktura: Jenkins, testovac\u00ed prost\u0159ed\u00ed, monitorov\u00e1n\u00ed, registry. CoreOS byla navr\u017eena pro hostov\u00e1n\u00ed clustr\u016f k8s, tak\u017ee probl\u00e9m byl v tom, jak byla CoreOS vyu\u017e\u00edv\u00e1na. Prvn\u00edm krokem bylo v\u00fdb\u011br stacku. Zastavili jsme se na:<\/p>\n<p><\/p>\n<ol>\n<li><strong>CentOS<\/strong> jako z\u00e1kladn\u00ed distribuce, proto\u017ee je to nejbl\u00ed\u017ee produk\u010dn\u00edm prost\u0159ed\u00edm.<\/li>\n<li><strong>Ansible<\/strong> pro spr\u00e1vu konfigurac\u00ed, proto\u017ee byla rozs\u00e1hl\u00e1 odborn\u00e1 znalost.<\/li>\n<li><strong>Jenkins<\/strong> jako framework pro automatizaci st\u00e1vaj\u00edc\u00edch proces\u016f, proto\u017ee u\u017e byl aktivn\u011b vyu\u017e\u00edv\u00e1n pro v\u00fdvojov\u00e9 procesy.<\/li>\n<li><strong>Hyper-V<\/strong> jako virtualiza\u010dn\u00ed platforma. Existuje \u0159ada d\u016fvod\u016f, kter\u00e9 p\u0159esahuj\u00ed tento p\u0159\u00edb\u011bh, ale stru\u010dn\u011b \u2014 nem\u016f\u017eeme pou\u017e\u00edvat cloud, mus\u00edme pou\u017e\u00edvat vlastn\u00ed hardware.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"den-30-fiksiruem-suschestvuyuschie-dogovorennosti---agreements-as-code\">Den \u010d. 30: Zaznamen\u00e1v\u00e1me st\u00e1vaj\u00edc\u00ed dohody \u2014 Agreements as Code.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/47a8cc980940b5080e195267d686df25.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jakmile byl stack jasn\u00fd, za\u010dala p\u0159\u00edprava na p\u0159est\u011bhov\u00e1n\u00ed. Zaznamen\u00e1n\u00ed st\u00e1vaj\u00edc\u00edch dohod ve form\u011b k\u00f3du (<strong>Agreements as Code<\/strong>!). P\u0159echod <em>ru\u010dn\u00ed pr\u00e1ce<\/em> -&gt; <em>mechanizace<\/em> -&gt; <em>automatizace<\/em>.<\/p>\n<p><\/p>\n<h4 id=\"1-configure-vms\">1. Konfigurace VM<\/h4>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/90b3c4ec5d4234fc218295bd9a34d676.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ansible si s touto \u00falohou skv\u011ble porad\u00ed. S minimem \u00fasil\u00ed m\u016f\u017eete \u0159\u00eddit konfigurace VM:<\/p>\n<p><\/p>\n<ol>\n<li>Vytvo\u0159\u00edme git repository.<\/li>\n<li>Ulo\u017e\u00edme seznam VM do invent\u00e1\u0159e, konfigurace do playbook\u016f a rol\u00ed.<\/li>\n<li>Nastavujeme speci\u00e1ln\u00ed Jenkins slave, ze kter\u00e9ho bude mo\u017en\u00e9 spou\u0161t\u011bt Ansible.<\/li>\n<li>Vytvo\u0159\u00edme job, nastav\u00edme Jenkins.<\/li>\n<\/ol>\n<p><\/p>\n<p>Prvn\u00ed proces je hotov\u00fd. Dohody byly zaznamen\u00e1ny.<\/p>\n<p><\/p>\n<h4 id=\"2-create-new-vm\">2. Vytvo\u0159it novou VM<\/h4>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/3f6a02b170e28fd34e8f5fa65d1606c2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zde to nebylo moc pohodln\u00e9. Z Linuxu nebylo snadn\u00e9 vytv\u00e1\u0159et VM na Hyper-V. Jedn\u00edm z pokus\u016f, jak tento proces zmechanizovat, bylo:<\/p>\n<p><\/p>\n<ol>\n<li>Ansible se p\u0159ipojuje p\u0159es WinRM k Windows hostiteli.<\/li>\n<li>Ansible spou\u0161t\u00ed PowerShell skript.<\/li>\n<li>PowerShell skript vytv\u00e1\u0159\u00ed novou VM.<\/li>\n<li>Prost\u0159ednictv\u00edm Hyper-V\/ScVMM se p\u0159i vytv\u00e1\u0159en\u00ed VM v hostitelsk\u00e9m OS nastavuje hostname.<\/li>\n<li>VM p\u0159i obnov\u011b DHCP lease odes\u00edl\u00e1 sv\u00e9 hostname.<\/li>\n<li>Standardn\u00ed integrace DDNS &amp; DHCP na stran\u011b Domain Controller nastavuje DNS z\u00e1znam.<\/li>\n<li>VM lze p\u0159idat do invent\u00e1\u0159e a nastavit ji pomoc\u00ed Ansible.<\/li>\n<\/ol>\n<p><\/p>\n<h4 id=\"3-create-vm-template\">3. Vytvo\u0159it \u0161ablonu VM<\/h4>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/f10929c1bd5b350c16bb691dce61653a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zde jsme nevym\u00fd\u0161leli nic nov\u00e9ho \u2014 vzali jsme Packer.<\/p>\n<p><\/p>\n<ol>\n<li>Do git repository ukl\u00e1d\u00e1me config Packer, kickstart.<\/li>\n<li>Nastavujeme speci\u00e1ln\u00ed Jenkins slave s Hyper-V a Packer.<\/li>\n<li>Vytvo\u0159\u00edme job, nastav\u00edme Jenkins.<\/li>\n<\/ol>\n<p><\/p>\n<p>Jak tato kombinace funguje:<\/p>\n<p><\/p>\n<ol>\n<li>Packer vytv\u00e1\u0159\u00ed pr\u00e1zdnou VM, p\u0159ipojuje ISO.<\/li>\n<li>VM se spou\u0161t\u00ed, Packer zad\u00e1v\u00e1 do bootloaderu p\u0159\u00edkaz pou\u017e\u00edvat n\u00e1\u0161 kickstart soubor z disket nebo HTTP.<\/li>\n<li>Spou\u0161t\u00ed se Anaconda s na\u0161\u00edm configem, prov\u00e1d\u00ed se po\u010d\u00e1te\u010dn\u00ed nastaven\u00ed OS.<\/li>\n<li>Packer \u010dek\u00e1 na dostupnost VM.<\/li>\n<li>Packer uvnit\u0159 VM spou\u0161t\u00ed Ansible v lok\u00e1ln\u00edm re\u017eimu.<\/li>\n<li>Ansible pou\u017e\u00edv\u00e1 stejn\u00e9 role jako v kroku \u010d. 1.<\/li>\n<li>Packer exportuje \u0161ablonu VM.<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"den-75-refaktorim-dogovorennosti-ne-lomaya--test-ansible--testkitchen\">Den \u010d. 75: Refaktorujeme dohody, ani\u017e bychom je poru\u0161ili = Test ansible + Testkitchen.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/1b90074f3b17a77a732a259efdda518c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zafixovat dohody v k\u00f3du m\u016f\u017ee b\u00fdt nedostate\u010dn\u00e9. V\u017edy\u0165 pokud se v pozad\u00ed procesu rozhodne\u0161 n\u011bco zm\u011bnit \u2014 m\u016f\u017ee\u0161 n\u011bco rozb\u00edt. Proto se u infrastruktury objevuje testov\u00e1n\u00ed t\u00e9to infrastruktury. Abychom synchronizovali znalosti v r\u00e1mci t\u00fdmu, za\u010dali jsme testovat Ansible role. Nechci se do toho zab\u00fdvat hloub\u011bji, proto\u017ee existuje \u010dl\u00e1nek popisuj\u00edc\u00ed ud\u00e1losti v t\u00e9 dob\u011b. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/437004\/\">Otestuj m\u011b, pokud m\u016f\u017ee\u0161, nebo sn\u00ed o testov\u00e1n\u00ed ansible YML program\u00e1to\u0159i?<\/a><\/noindex>(spoiler, to nebyla fin\u00e1ln\u00ed varianta a pozd\u011bji se to stalo slo\u017eit\u011bj\u0161\u00edm). <noindex><a rel=\"nofollow\" href=\"http:\/\/www.goncharov.xyz\/it\/ansible-testing-ru.html\">Jak za\u010d\u00edt testovat Ansible, refaktorovat projekt za rok a neztratit hlavu.<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h3 id=\"den-130-a-mozhet-centosansible-ne-nuzhen-mozhet-openshift\">Den \u010d. 130: A mo\u017en\u00e1 CentOS + ansible nen\u00ed pot\u0159eba? Mo\u017en\u00e1 openshift?<\/h3>\n<p><\/p>\n<p>Mus\u00edme ch\u00e1pat, \u017ee proces zaveden\u00ed infrastruktury nebyl jedin\u00fd a byly tu vedlej\u0161\u00ed podprojekty. Nap\u0159\u00edklad p\u0159i\u0161el po\u017eadavek na spu\u0161t\u011bn\u00ed na\u0161\u00ed aplikace v openshiftu, co\u017e vedlo k v\u00fdzkumu na v\u00edce ne\u017e jeden t\u00fdden. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/441928\/\">Spou\u0161t\u00edme aplikaci v Openshiftu a srovn\u00e1v\u00e1me existuj\u00edc\u00ed n\u00e1stroje.<\/a><\/noindex> co zpomalilo proces p\u0159echodu. V\u00fdsledkem se uk\u00e1zalo, \u017ee openshift ne\u0159e\u0161\u00ed v\u0161echny pot\u0159eby, je pot\u0159eba skute\u010dn\u00fd hardware, nebo alespo\u0148 mo\u017enost hr\u00e1t si s j\u00e1drem.<\/p>\n<p><\/p>\n<h3 id=\"den-170-openshift-ne-podhodit-risknem-s-windows-azure-pack\">Den \u010d. 170: Openshift nevyhovuje, riskneme to s Windows Azure Pack?<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/73cbf7fd7e0330676c4d937df68289f5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hyper-V nen\u00ed p\u0159\u00edli\u0161 p\u0159\u00e1telsk\u00fd, SCVMM to moc neuleh\u010duje. Ale existuje takov\u00e1 v\u011bc jako Windows Azure Pack, kter\u00e1 je nadstavbou nad SCVMM a napodobuje Azure. Ve skute\u010dnosti v\u0161ak produkt vypad\u00e1 opu\u0161t\u011bn\u011b: dokumentace s nefunk\u010dn\u00edmi odkazy a velmi chud\u00e1. Ale v r\u00e1mci v\u00fdzkumu mo\u017enost\u00ed zjednodu\u0161en\u00ed na\u0161eho cloudu jsme se na n\u011bj tak\u00e9 pod\u00edvali.<\/p>\n<p><\/p>\n<h3 id=\"den-250-windows-azure-pack-ne-ochen-ostaemsya-na-scvmm\">Den \u010d. 250: Windows Azure Pack nen\u00ed moc dobr\u00fd. Z\u016fst\u00e1v\u00e1me na SCVMM.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/8753b3da72adfb035d1a2f23ad28809b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Windows Azure Pack vypadalo slibn\u011b, ale bylo rozhodnuto nezav\u00e1d\u011bt WAP s jeho obt\u00ed\u017eemi do syst\u00e9mu kv\u016fli zbyte\u010dn\u00fdm funkc\u00edm a z\u016fstali jsme na SCVMM.<\/p>\n<p><\/p>\n<h3 id=\"den-360-edim-slona-po-chastyam\">Den \u010d. 360: J\u00edme slona po \u010d\u00e1stech.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/84e003906234c46b57b7769abd7b7993.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A\u017e po roce byla p\u0159ipravena platforma, na kterou se m\u011blo p\u0159ej\u00edt, a za\u010dal proces migrace. Bylo stanoven\u00e9 SMART c\u00edle. Vypsali jsme v\u0161echny VM a za\u010dali jednu po druh\u00e9 \u0159e\u0161it s konfigurac\u00ed, popisovat ji v Ansible a pokr\u00fdvat testy.<\/p>\n<p><\/p>\n<h3 id=\"den-450-kakaya-sistema-poluchilas\">Den \u010d. 450: Jak\u00fd syst\u00e9m se vytvo\u0159il?<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/1d0c64e6a229a0b4e0e49f7b832147ba.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cel\u00fd proces nen\u00ed zaj\u00edmav\u00fd. Je rutinn\u00ed, lze poznamenat, \u017ee v\u011bt\u0161ina konfigurac\u00ed byla relativn\u011b jednoduch\u00e1 nebo izomorfn\u00ed, a podle principu Pareto 80 % konfigurac\u00ed si vy\u017e\u00e1dalo 20 % \u010dasu. Podle stejn\u00e9ho principu 80 % \u010dasu bylo v\u011bnov\u00e1no p\u0159\u00edprav\u011b na p\u0159est\u011bhov\u00e1n\u00ed a pouze 20 % na samotn\u00e9 p\u0159est\u011bhov\u00e1n\u00ed. <\/p>\n<p><\/p>\n<h2 id=\"den-540-final\">Den \u010d. 540: Fin\u00e1le<\/h2>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ansible: Migrace konfigurace 120 VM z CoreOS na CentOS b\u011bhem 18 m\u011bs\u00edc\u016f\" src=\"\/wp-content\/uploads\/2020\/05\/7e3d1936dca58506d3b8efcf4ee3c115.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Co se stalo za 18 m\u011bs\u00edc\u016f?<\/p>\n<p><\/p>\n<ol>\n<li>Dohody se staly k\u00f3dem.<\/li>\n<li><em>Ru\u010dn\u00ed pr\u00e1ce<\/em> -&gt; <em>Mechanizace<\/em> -&gt; <em>Automatizace<\/em>.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"links\">Odkazy<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/500350\/\">Anglick\u00e1 verze<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/www.goncharov.xyz\/it\/coreos2centos-ru.html\">K\u0159\u00ed\u017eov\u00fd p\u0159\u00edsp\u011bvek z osobn\u00edho blogu<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.mail.ru\/public\/UDCZ\/WM4Y9Qv3j\">slidy<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/500058\/\">Jak za\u010d\u00edt testovat Ansible, refaktorovat projekt za rok a neztratit hlavu.<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/467171\/\">Pou\u010den\u00ed z testov\u00e1n\u00ed v\u00edce ne\u017e 200 000 \u0159\u00e1dk\u016f k\u00f3du infrastruktury<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/441928\/\">Poj\u010fme nasadit na OpenShift<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/342216\/\">Jak otestovat vlastn\u00ed distribuci OS<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/437004\/\">Otestuj m\u011b, pokud m\u016f\u017ee\u0161. Sn\u00edt YML v\u00fdvoj\u00e1\u0159i o testov\u00e1n\u00ed Ansible?<\/a><\/noindex><\/li>\n<\/ul>\n<p>Zdroj: <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 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e.\" \/>\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\/cs\/blog\/administrirovanie\/ansible-migracziya-konfiguraczii-120-vm-c-coreos-na-centos-za-18-mesyaczev\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/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: Migrace konfigurace 120 VM z CoreOS na CentOS za 18 m\u011bs\u00edc\u016f | ProHoster","description":"To je.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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.","og:url":"https:\/\/prohoster.info\/cs\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/80289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=80289"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/80289\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/80290"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=80289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=80289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=80289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}