{"id":35972,"date":"2019-10-31T22:08:54","date_gmt":"2019-10-31T19:08:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie\/"},"modified":"2019-10-31T22:08:54","modified_gmt":"2019-10-31T19:08:54","slug":"avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie","title":{"rendered":"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A SDSM has ended, but the uncontrollable desire to write remains. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/fs.linkmeup.ru\/images\/adsm\/0\/kdpv.jpg\"><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/2da9a566e92a782cf1205a6da716d4c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>For many years, our brother suffered from routine work, crossing his fingers before each commit and losing sleep due to nightly rollbacks.<br \/>\nBut dark times come to an end.<\/p>\n<p>With this article, I will start a series on how <i>tudasd velem. Rem\u00e9lem, hogy ez a cikk seg\u00edtett nektek a dolgaikban. Szeretn\u00e9m hinni, hogy miut\u00e1n elolvast\u00e1tok, annyit tanultatok, mint \u00e9n, mik\u00f6zben minden olyan dologgal foglalkoztam, amir\u0151l besz\u00e9ltem benne.<\/i> automation is perceived. <br \/>\nAlong the way, we will discuss automation stages, variable storage, design formalization, RestAPI, NETCONF, YANG, YDK, and we will be doing a lot of programming. <br \/>\n<i>For me<\/i> it means that a) this is not an objective truth, b) it is not an unequivocally better approach, c) my view may change even from the first to the last article \u2014 to be honest, from the draft stage to publication, I rewrote everything completely twice. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Tartalom<\/h1>\n<p><\/p>\n<ol>\n<li> <b>C\u00e9lok<\/b>\n<ol>\n<li>The network is like a single organism<\/li>\n<li>Configuration testing<\/li>\n<li>Verzi\u00f3kezel\u00e9s<\/li>\n<li>Monitoring and self-healing of services<\/li>\n<\/ol>\n<p>\n <\/li>\n<li> <b>Tools<\/b>\n<ol>\n<li>Inventory system<\/li>\n<li>IP space management system<\/li>\n<li>Network service description system<\/li>\n<li>Device initialization mechanism<\/li>\n<li>Vendor-agnostic configuration model<\/li>\n<li>Vendor-specific driver interface<\/li>\n<li>Configuration delivery mechanism to the device<\/li>\n<li>CI\/CD<\/li>\n<li>Backup mechanism and anomaly detection<\/li>\n<li>Monitoring system<\/li>\n<\/ol>\n<p>\n <\/li>\n<li> <b>Z\u00e1r\u00e1s<\/b>\n <\/li>\n<\/ol>\n<p>\nI will try to lead the ADSM format a bit differently from SDSM. There will still be substantial numbered articles appearing, and between them, I will publish brief notes from daily experiences. I will try to battle my perfectionism here and not polish each of them too much. <\/p>\n<blockquote><p> How funny it is to have to walk the same path a second time.<\/p>\n<p> Initially, I had to write articles about networks myself because there weren't any on the Russian-speaking internet.<\/p>\n<p> Now I couldn't find a comprehensive document that systematized approaches to automation and examined the aforementioned technologies through simple practical examples.<\/p>\n<p> I might be wrong, so feel free to throw links to useful resources. However, this won't change my determination to write, because the main goal is still to learn something myself, and making life easier for others is a nice bonus that enhances the spread of knowledge.\n<\/p><\/blockquote>\n<p>We will attempt to take a medium-sized data center, LAN DC, and work through the entire automation scheme. <br \/>\nI will do some things almost for the first time together with you. <\/p>\n<blockquote><p> A le\u00edr\u00e1sban szerepl\u0151 \u00f6tletekben \u00e9s eszk\u00f6z\u00f6kben nem leszek eredeti. Dmitrij Figolj sz\u00e1m\u00e1ra kiv\u00e1l\u00f3 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=MLeiShwb7Qo&amp;list=PLSwGHYY8t8JiGI9powOXDHTAXDSs7FZqt\">csatorn\u00e1ja van a t\u00e9m\u00e1ban folytatott k\u00f6zvet\u00edt\u00e9sekhez.<\/a><\/noindex>. <br \/>\n A cikkek sok szempontb\u00f3l metszik egym\u00e1st. \n<\/p><\/blockquote>\n<p>A LAN DC 4 adatk\u00f6zponttal, k\u00f6r\u00fclbel\u00fcl 250 switch-csel, f\u00e9l tucat routerrel \u00e9s p\u00e1r t\u0171zfallal rendelkezik. <br \/>\nNem Facebook, de elegend\u0151 ahhoz, hogy m\u00e9lyen elgondolkodjunk az automatiz\u00e1l\u00e1sr\u00f3l. <br \/>\nAz a v\u00e9lem\u00e9ny terjedt el, hogy ha t\u00f6bb mint 1 eszk\u00f6z\u00f6d van, m\u00e1r sz\u00fcks\u00e9ges az automatiz\u00e1l\u00e1s. <br \/>\nVal\u00f3j\u00e1ban neh\u00e9z elk\u00e9pzelni, hogy valaki mostan\u00e1ban \u00e9lhet an\u00e9lk\u00fcl, hogy legal\u00e1bb egy csomag scriptet ne haszn\u00e1ljon. <br \/>\nB\u00e1r hallottam olyan c\u00e9gekr\u0151l, ahol az IP-c\u00edmek nyilv\u00e1ntart\u00e1sa Excelben t\u00f6rt\u00e9nik, \u00e9s az ezer h\u00e1l\u00f3zati eszk\u00f6z mindegyik\u00e9t manu\u00e1lisan \u00e1ll\u00edtj\u00e1k be, k\u00fcl\u00f6n\u00e1ll\u00f3 konfigur\u00e1ci\u00f3kkal. Ezt persze modern m\u0171v\u00e9szetk\u00e9nt lehetne el\u0151adni, de egy m\u00e9rn\u00f6k \u00e9rz\u00e9sei biztosan megs\u00e9rt\u0151dn\u00e9nek. <\/p>\n<h1>C\u00e9lok<\/h1>\n<p>\nMost maxim\u00e1lisan absztrakt c\u00e9lokat fogunk kit\u0171zni:<\/p>\n<ul>\n<li>The network is like a single organism<\/li>\n<li>Configuration testing<\/li>\n<li>A h\u00e1l\u00f3zat \u00e1llapot\u00e1nak verzi\u00f3z\u00e1sa<\/li>\n<li>Monitoring and self-healing of services<\/li>\n<\/ul>\n<p>\nK\u00e9s\u0151bb ebben a cikkben kielemezz\u00fck, hogy milyen eszk\u00f6z\u00f6ket fogunk haszn\u00e1lni, a k\u00f6vetkez\u0151 cikkekben pedig a c\u00e9lokat \u00e9s az eszk\u00f6z\u00f6ket r\u00e9szletesen.<\/p>\n<h2>The network is like a single organism<\/h2>\n<p>\nA ciklus meghat\u00e1roz\u00f3 mondata, hab\u00e1r els\u0151 pillant\u00e1sra nem t\u0171nik jelent\u0151snek: <b>mi a h\u00e1l\u00f3zatot \u00e1ll\u00edtjuk be, nem pedig egyes eszk\u00f6z\u00f6ket.<\/b>. <br \/>\nAz utols\u00f3 \u00e9vekben azt tapasztaljuk, hogy a hangs\u00faly a h\u00e1l\u00f3zat egyetlen entit\u00e1sk\u00e9nt val\u00f3 kezel\u00e9s\u00e9re helyez\u0151d\u00f6tt \u00e1t, \u00e9s \u00edgy j\u00f6nnek be az \u00e9let\u00fcnkbe <i>Szoftver Defini\u00e1lt H\u00e1l\u00f3zatok<\/i>, <i>Intencion\u00e1lis H\u00e1l\u00f3zatok<\/i> \u00e9s <i>Auton\u00f3m H\u00e1l\u00f3zatok<\/i>. <br \/>\nHiszen ami glob\u00e1lisan sz\u00fcks\u00e9ges az alkalmaz\u00e1sok sz\u00e1m\u00e1ra a h\u00e1l\u00f3zatt\u00f3l: kapcsol\u00f3d\u00e1s A \u00e9s B pontok k\u00f6z\u00f6tt (n\u00e9ha +B-Y) \u00e9s izol\u00e1ci\u00f3 a t\u00f6bbi alkalmaz\u00e1st\u00f3l \u00e9s felhaszn\u00e1l\u00f3t\u00f3l. <\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/f8b43928ccc6d487722ce7724f5c4829.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cdgy teh\u00e1t a c\u00e9lunk ennek a sorozatnak az lesz, hogy <b>ki\u00e9p\u00edts\u00fcnk egy rendszert<\/b>, amely fenntartja az aktu\u00e1lis konfigur\u00e1ci\u00f3t <b>az eg\u00e9sz h\u00e1l\u00f3zatra<\/b>, amely m\u00e1r lebont\u00e1sra ker\u00fcl az aktu\u00e1lis konfigur\u00e1ci\u00f3ra minden eszk\u00f6zn\u00e9l az adott szerepe \u00e9s elhelyezked\u00e9se szerint. <br \/>\n<b>Rendszer<\/b> A h\u00e1l\u00f3zatkezel\u00e9s azt jelenti, hogy a v\u00e1ltoztat\u00e1sok v\u00e9grehajt\u00e1s\u00e1hoz oda fordulunk, \u00e9s \u0151 sz\u00e1m\u00edtja ki az egyes eszk\u00f6z\u00f6k sz\u00fcks\u00e9ges \u00e1llapot\u00e1t, \u00e9s konfigur\u00e1lja azokat. <br \/>\n\u00cdgy minimaliz\u00e1ljuk a CLI k\u00e9zi haszn\u00e1lat\u00e1t szinte null\u00e1ra \u2014 b\u00e1rmilyen eszk\u00f6zbe\u00e1ll\u00edt\u00e1si vagy h\u00e1l\u00f3zatdesign v\u00e1ltoz\u00e1st form\u00e1lisan dokument\u00e1lni kell \u2014 \u00e9s csak ezut\u00e1n lehet bevezetni a sz\u00fcks\u00e9ges h\u00e1l\u00f3zati elemekbe. <\/p>\n<blockquote><p> P\u00e9ld\u00e1ul, ha \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy ett\u0151l a pillanatt\u00f3l kezdve a kazanyi r\u00e1csos switcheknek k\u00e9t h\u00e1l\u00f3zatot kell hirdetni\u00fck egy helyett, akkor<\/p>\n<ol>\n<li>El\u0151sz\u00f6r dokument\u00e1ljuk a v\u00e1ltoz\u00e1sokat a rendszerekben<\/li>\n<li>Gener\u00e1ljuk a h\u00e1l\u00f3zat \u00f6sszes eszk\u00f6z\u00e9nek c\u00e9lkonfigur\u00e1ci\u00f3j\u00e1t<\/li>\n<li>Elind\u00edtjuk a h\u00e1l\u00f3zati konfigur\u00e1ci\u00f3 friss\u00edt\u0151 programj\u00e1t, amely kisz\u00e1m\u00edtja, hogy mit kell elt\u00e1vol\u00edtani minden csom\u00f3ponton, mit kell hozz\u00e1adni, \u00e9s az \u00e1llapotokat a sz\u00fcks\u00e9ges \u00e1llapotba hozza.<\/li>\n<\/ol>\n<p>\n K\u00e9zi beavatkoz\u00e1ssal csak az els\u0151 l\u00e9p\u00e9sben v\u00e9gezz\u00fck el a m\u00f3dos\u00edt\u00e1sokat.\n<\/p><\/blockquote>\n<h2>Configuration testing<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.wikisummaries.org\/wiki\/Visible_Ops\">Ismert,<\/a><\/noindex>, hogy a probl\u00e9m\u00e1k 80%-a a konfigur\u00e1ci\u00f3 megv\u00e1ltoztat\u00e1s\u00e1nak id\u0151szak\u00e1ban l\u00e9p fel - ennek k\u00f6zvetett bizony\u00edt\u00e9ka, hogy az \u00e9v v\u00e9gi \u00fcnnepek alatt \u00e1ltal\u00e1ban minden nyugodt. <br \/>\nSzem\u00e9lyesen tan\u00faja voltam tucatnyi glob\u00e1lis le\u00e1ll\u00e1snak emberi hiba miatt: hib\u00e1s parancs, nem a megfelel\u0151 konfigur\u00e1ci\u00f3s \u00e1gon hajtott\u00e1k v\u00e9gre, elfelejtett\u00e9k a k\u00f6z\u00f6ss\u00e9get, glob\u00e1lisan t\u00f6r\u00f6lt\u00e9k az MPLS-t az \u00fatv\u00e1laszt\u00f3n, \u00f6t berendez\u00e9st be\u00e1ll\u00edtottak, de a hatodikat nem vett\u00e9k \u00e9szre, \u00e9s a m\u00e1sik szem\u00e9ly \u00e1ltal v\u00e9gzett r\u00e9gebbi m\u00f3dos\u00edt\u00e1sokat becommit\u00e1lt\u00e1k. Sz\u00e1mtalan forgat\u00f3k\u00f6nyv l\u00e9tezik. <\/p>\n<p>A automatiz\u00e1l\u00e1s lehet\u0151v\u00e9 teszi, hogy kevesebb hib\u00e1t k\u00f6vess\u00fcnk el, de nagyobb m\u00e9retekben. \u00cdgy nemcsak egy eszk\u00f6zt, hanem egy eg\u00e9sz h\u00e1l\u00f3zatot is megd\u00f6nthet\u00fcnk. <\/p>\n<p>\u00d6r\u00f6k id\u0151k \u00f3ta \u0151seink l\u00e1t\u00e1s\u00e1val, ac\u00e9los b\u00e1tors\u00e1gukkal \u00e9s a h\u00e1l\u00f3zat m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g\u00e9nek ellen\u0151rz\u00e9s\u00e9vel biztos\u00edtott\u00e1k a v\u00e1ltoz\u00e1sok helyess\u00e9g\u00e9t. <br \/>\nAzok az \u0151seink, akiknek munk\u00e1i le\u00e1ll\u00e1sokhoz \u00e9s katasztrof\u00e1lis vesztes\u00e9gekhez vezettek, kevesebb ut\u00f3dot hagytak maguk ut\u00e1n, \u00e9s id\u0151vel ki kell halniuk, de az evol\u00faci\u00f3 lass\u00fa folyamat, ez\u00e9rt m\u00e9g mindig nem mindenki ellen\u0151rzi el\u0151re a v\u00e1ltoz\u00e1sokat a laborban. <br \/>\nA fejl\u0151d\u00e9s \u00e9lvonal\u00e1ban azonban azok \u00e1llnak, akik automatiz\u00e1lt\u00e1k a konfigur\u00e1ci\u00f3 tesztel\u00e9s\u00e9nek folyamat\u00e1t, \u00e9s annak tov\u00e1bbi alkalmaz\u00e1s\u00e1t a h\u00e1l\u00f3zaton. M\u00e1s sz\u00f3val \u2014 \u00e1tvett\u00e9k a CI\/CD elj\u00e1r\u00e1st (<noindex><a rel=\"nofollow\" href=\"https:\/\/img.devrant.com\/devrant\/rant\/r_1535091_ErSUL.jpg\">Folyamatos integr\u00e1ci\u00f3, folyamatos telep\u00edt\u00e9s<\/a><\/noindex>) a fejleszt\u0151kt\u0151l.<br \/>\nEgy r\u00e9szben \u00e1ttekintj\u00fck, hogyan val\u00f3s\u00edthat\u00f3 meg ez verzi\u00f3kezel\u0151 rendszer seg\u00edts\u00e9g\u00e9vel, val\u00f3sz\u00edn\u0171leg a GitHubon. <\/p>\n<blockquote><p> Amint elfogadja a h\u00e1l\u00f3zati CI\/CD gondolat\u00e1t, a konfigur\u00e1ci\u00f3 alkalmaz\u00e1s\u00e1nak m\u00f3dszere a m\u0171k\u00f6d\u0151 h\u00e1l\u00f3zatra hirtelen k\u00f6z\u00e9pkori tudatlans\u00e1gnak fog t\u0171nni. K\u00f6r\u00fclbel\u00fcl \u00fagy, mint ha kalap\u00e1ccsal \u00fct\u00f6getn\u00e9nk egy nukle\u00e1ris fegyver fegyver\u00e9nek t\u00f6rzs\u00e9n.\n<\/p><\/blockquote>\n<p>Az \u00f6tletek term\u00e9szetes folytat\u00e1sak\u00e9nt a <b>rendszerre<\/b> h\u00e1l\u00f3zatkezel\u00e9s \u00e9s CI\/CD teljes verzi\u00f3z\u00e1s\u00e1v\u00e1 v\u00e1lik a konfigur\u00e1ci\u00f3nak. <\/p>\n<h2>Verzi\u00f3kezel\u00e9s<\/h2>\n<p>\nFelt\u00e9telezz\u00fck, hogy b\u00e1rmilyen v\u00e1ltoz\u00e1s, m\u00e9g a legkisebb, m\u00e9g egy szinte l\u00e1thatatlan eszk\u00f6z\u00f6n is, az eg\u00e9sz h\u00e1l\u00f3zatot \u00e1tviszi egy m\u00e1sik \u00e1llapotba.<br \/>\nMindig \u00fagy cseleksz\u00fcnk, hogy nem a k\u00e9sz\u00fcl\u00e9ken v\u00e9grehajtani a parancsot, hanem megv\u00e1ltoztatjuk a h\u00e1l\u00f3zat \u00e1llapot\u00e1t. <br \/>\nAkkor ezeket az \u00e1llapotokat nevezz\u00fck verzi\u00f3knak?<\/p>\n<p>Tegy\u00fck fel, hogy a jelenlegi verzi\u00f3 \u2013 1.0.0.<br \/>\nMegv\u00e1ltozott a Loopback-interf\u00e9sz IP-c\u00edme az egyik ToR-on? Ez egy kisebb verzi\u00f3 \u2014 a sz\u00e1ma 1.0.1 lesz.<br \/>\nFel\u00fclvizsg\u00e1ltuk a BGP-ben a route import politik\u00e1kat \u2013 ez m\u00e1r komolyabb v\u00e1ltoz\u00e1s \u2013 1.1.0.<br \/>\nHa \u00fagy d\u00f6nt\u00fcnk, hogy megszabadulunk az IGP-t\u0151l \u00e9s csak BGP-re v\u00e1ltunk \u2013 ez m\u00e1r egy radik\u00e1lis diz\u00e1jnv\u00e1ltoz\u00e1s \u2013 2.0.0.<\/p>\n<p>Ek\u00f6zben k\u00fcl\u00f6nb\u00f6z\u0151 DC-k elt\u00e9r\u0151 verzi\u00f3val rendelkezhetnek \u2013 a h\u00e1l\u00f3zat fejleszt\u00e9se, \u00faj berendez\u00e9sek telep\u00edt\u00e9se, n\u00e9h\u00e1ny helyen \u00faj spine szintek hozz\u00e1ad\u00e1sa, m\u00e1shol nem, stb.<\/p>\n<p>A <noindex><a rel=\"nofollow\" href=\"https:\/\/semver.org\">szemantikus verzi\u00f3kezel\u00e9s<\/a><\/noindex> Err\u0151l k\u00fcl\u00f6n cikkben besz\u00e9l\u00fcnk.<\/p>\n<p>Ism\u00e9tlem \u2013 b\u00e1rmilyen v\u00e1ltoztat\u00e1s (kiv\u00e9ve a debug parancsokat) \u2013 verzi\u00f3friss\u00edt\u00e9st jelent. Az aktu\u00e1lis verzi\u00f3t\u00f3l val\u00f3 elt\u00e9r\u00e9sekr\u0151l \u00e9rtes\u00edteni kell az adminisztr\u00e1torokat.<\/p>\n<p>Ugyanez vonatkozik a v\u00e1ltoztat\u00e1sok visszag\u00f6rget\u00e9s\u00e9re \u2013 ez nem az utols\u00f3 parancsok t\u00f6rl\u00e9se, nem a rollback az eszk\u00f6z oper\u00e1ci\u00f3s rendszer\u00e9nek erej\u00e9vel \u2013 ez az eg\u00e9sz h\u00e1l\u00f3zatot \u00faj (r\u00e9gi) verzi\u00f3ba \u00e1ll\u00edtja. <\/p>\n<h2>Monitoring and self-healing of services<\/h2>\n<p>\nEz egy nyilv\u00e1nval\u00f3 feladat a modern h\u00e1l\u00f3zatok sz\u00e1m\u00e1ra, ami \u00faj szintre l\u00e9p.<br \/>\nGyakran a nagy szolg\u00e1ltat\u00f3k gyakorolnak egy megk\u00f6zel\u00edt\u00e9st, miszerint a le\u00e1llt szolg\u00e1ltat\u00e1st nagyon gyorsan meg kell \u00f6lni \u00e9s \u00fajraind\u00edtani, ahelyett, hogy kider\u00edten\u00e9k, mi t\u00f6rt\u00e9nt.<br \/>\nA \u201enagyon\u201d azt jelenti, hogy minden oldalr\u00f3l b\u0151s\u00e9gesen fel kell k\u00e9sz\u00fclni a monitoroz\u00e1sra, amelyek m\u00e1sodpercek alatt \u00e9szlelik a legkisebb elt\u00e9r\u00e9seket a norm\u00e1t\u00f3l.<br \/>\nItt m\u00e1r nem el\u00e9g a megszokott metrik\u00e1k, mint az interf\u00e9sz terhelts\u00e9ge vagy a csom\u00f3pont el\u00e9rhet\u0151s\u00e9ge. A manual monitoring sem elegend\u0151.<br \/>\nSok esetben val\u00f3ban sz\u00fcks\u00e9g van <noindex><a rel=\"nofollow\" href=\"https:\/\/www.irisns.com\/self-healing-network-tomorrow-look-like\/\">\u00d6ngy\u00f3gy\u00edt\u00f3<\/a><\/noindex> \u2013 a monitoroz\u00e1sok piros l\u00e1mp\u00e1kat jeleztek, \u00e9s magukt\u00f3l cselekedtek, ahol a probl\u00e9ma jelentkezik.<\/p>\n<p>Itt nem csak a k\u00fcl\u00f6nb\u00f6z\u0151 eszk\u00f6z\u00f6ket figyelj\u00fck, hanem az eg\u00e9sz h\u00e1l\u00f3zat eg\u00e9szs\u00e9g\u00e9t is, mind feh\u00e9r dobozban, ami viszonylag vil\u00e1gos, mind fekete dobozban, ami m\u00e1r bonyolultabb.<\/p>\n<p>\nMire van sz\u00fcks\u00e9g\u00fcnk a ilyen ambici\u00f3zus tervek megval\u00f3s\u00edt\u00e1s\u00e1hoz?<\/p>\n<ul>\n<li>Meg kell lennie a h\u00e1l\u00f3zat \u00f6sszes eszk\u00f6z\u00e9nek list\u00e1j\u00e1nak, azok elhelyezked\u00e9s\u00e9vel, szerep\u00e9vel, modelljeivel, szoftververzi\u00f3ival. <br \/>\n <i>kazan-leaf-1.lmu.net, Kazan, leaf, Juniper QFX 5120, R18.3.<\/i>\n <\/li>\n<li>Meg kell lennie egy h\u00e1l\u00f3zati szolg\u00e1ltat\u00e1sok le\u00edr\u00e1si rendszer\u00e9nek. <br \/>\n <i>IGP, BGP, L2\/3VPN, Politika, ACL, NTP, SSH.<\/i><\/li>\n<li>K\u00e9pess\u00e9 v\u00e1lni az eszk\u00f6z inicializ\u00e1l\u00e1s\u00e1ra. <br \/>\n <i>Hostname, Mgmt IP, Mgmt Route, Felhaszn\u00e1l\u00f3k, RSA-Kulcsok, LLDP, NETCONF<\/i><\/li>\n<li>Az eszk\u00f6z konfigur\u00e1l\u00e1sa \u00e9s a konfigur\u00e1ci\u00f3 sz\u00fcks\u00e9ges (bele\u00e9rtve a r\u00e9gi) verzi\u00f3ra \u00e1ll\u00edt\u00e1sa.<\/li>\n<li>A konfigur\u00e1ci\u00f3 tesztel\u00e9se<\/li>\n<li>Id\u0151szakonk\u00e9nt ellen\u0151rizni kell az \u00f6sszes eszk\u00f6z \u00e1llapot\u00e1t a t\u00e9nyleges \u00e1llapot elt\u00e9r\u00e9s\u00e9vel kapcsolatban, \u00e9s \u00e9rtes\u00edteni az illet\u00e9keseket.<br \/>\n <i>\u00c9jjel valaki csendben hozz\u00e1adott egy szab\u00e1lyt az ACL-hez<\/i>.<\/li>\n<li>Figyelni a m\u0171k\u00f6d\u00e9st.<\/li>\n<\/ul>\n<p><\/p>\n<h1>Tools<\/h1>\n<p>\nJ\u00f3nak t\u0171nik el\u00e9gg\u00e9 bonyolultnak ahhoz, hogy elkezdj\u00fck a projekt komponensekre bont\u00e1s\u00e1t.<\/p>\n<p>\u00c9s ez t\u00edz lesz:<\/p>\n<ol>\n<li>Inventory system<\/li>\n<li>IP space management system<\/li>\n<li>Network service description system<\/li>\n<li>Device initialization mechanism<\/li>\n<li>Vendor-agnostic configuration model<\/li>\n<li>Vendor-specific driver interface<\/li>\n<li>Configuration delivery mechanism to the device<\/li>\n<li>CI\/CD<\/li>\n<li>Backup mechanism and anomaly detection<\/li>\n<li>Monitoring system<\/li>\n<\/ol>\n<blockquote><p> Ez egy p\u00e9lda arra, hogyan v\u00e1ltozott a ciklus c\u00e9ljaira vonatkoz\u00f3 n\u00e9z\u0151pont \u2014 a komponens v\u00e1zlat\u00e1ban 4 szerepelt.\n<\/p><\/blockquote>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/91132e29d359a4042b213529511f6d7d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA k\u00e9pen minden komponenst \u00e9s mag\u00e1t az eszk\u00f6zt \u00e1br\u00e1zoltam. <br \/>\nA metsz\u0151 komponensek k\u00f6lcs\u00f6nhat\u00e1sban \u00e1llnak egym\u00e1ssal. <br \/>\nMin\u00e9l nagyobb a blokk, ann\u00e1l t\u00f6bb figyelmet kell ford\u00edtani ennek a komponensnek. <\/p>\n<p><\/p>\n<h2>1. komponens. Lelt\u00e1roz\u00e1si rendszer<\/h2>\n<p>\nNyilv\u00e1nval\u00f3, hogy tudni szeretn\u00e9nk, hogy milyen berendez\u00e9s, hol van, mivel csatlakozik. <br \/>\nA lelt\u00e1roz\u00e1si rendszer elengedhetetlen r\u00e9sze b\u00e1rmely v\u00e1llalkoz\u00e1snak. <br \/>\nLeggyakrabban a h\u00e1l\u00f3zati eszk\u00f6z\u00f6k eset\u00e9ben a v\u00e1llalat k\u00fcl\u00f6n lelt\u00e1roz\u00e1si rendszert alkalmaz, amely specifikusabb feladatokat l\u00e1t el. <br \/>\nA cikkciklus sor\u00e1n ezt DCIM-nek \u2013 Data Center Infrastructure Management \u2013 fogjuk nevezni. B\u00e1r mag\u00e1nak a DCIM-nek a kifejez\u00e9se szigor\u00faan v\u00e9ve sokkal t\u00f6bbet jelent.<\/p>\n<p>A feladatainkhoz ebben a rendszerben a k\u00f6vetkez\u0151 inform\u00e1ci\u00f3kat fogjuk t\u00e1rolni az eszk\u00f6zr\u0151l:<\/p>\n<ul>\n<li>Lelt\u00e1ri sz\u00e1m<\/li>\n<li>N\u00e9v\/Le\u00edr\u00e1s <\/li>\n<li>Modell (<i>Huawei CE12800, Juniper QFX5120 stb.<\/i>)<\/li>\n<li>Jellemz\u0151 param\u00e9terek (<i>t\u00e1bl\u00e1k, interf\u00e9szek stb.<\/i>)<\/li>\n<li>Szerep (<i>Leaf, Spine, Border Router stb.<\/i>)<\/li>\n<li>Helysz\u00edn (<i>regi\u00f3, v\u00e1ros, adatk\u00f6zpont, rack, egys\u00e9g<\/i>)<\/li>\n<li>Interkonnekci\u00f3k az eszk\u00f6z\u00f6k k\u00f6z\u00f6tt<\/li>\n<li>A h\u00e1l\u00f3zat topol\u00f3gi\u00e1ja<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/fac708b1bf3640a943f90247bff8216e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTiszt\u00e1n l\u00e1that\u00f3, hogy magunk is mindezt tudni szeretn\u00e9nk. <br \/>\nDe seg\u00edtene ez az automatiz\u00e1l\u00e1s c\u00e9ljaira? <br \/>\nMindenk\u00e9ppen. <br \/>\nP\u00e9ld\u00e1ul tudjuk, hogy ebben az adatk\u00f6zpontban, ha Huawei Leaf kapcsol\u00f3kr\u00f3l van sz\u00f3, az ACL-t a bizonyos forgalom sz\u0171r\u00e9s\u00e9re a VLAN-on kell alkalmazni, ha pedig Juniper \u2013 akkor a unit 0 fizikai interf\u00e9szen. <br \/>\nVagy telep\u00edteni kell egy \u00faj Syslog szervert az \u00f6sszes region\u00e1lis borderre.<\/p>\n<p>Itt fogjuk t\u00e1rolni a virtu\u00e1lis h\u00e1l\u00f3zati eszk\u00f6z\u00f6ket, p\u00e9ld\u00e1ul virtu\u00e1lis routereket vagy route-reflectoreket. Besz\u00e1m\u00edthatunk DNS szervereket, NTP-t, Syslogot \u00e9s minden olyan dolgot, ami valamilyen m\u00f3don a h\u00e1l\u00f3zathoz kapcsol\u00f3dik. <\/p>\n<h2>2. komponens. IP-c\u00edmkezel\u0151 rendszer<\/h2>\n<p>\nIgen, napjainkban is vannak emberekb\u0151l \u00e1ll\u00f3 csoportok, akik Excel-f\u00e1jlban tartj\u00e1k nyilv\u00e1n a prefixek \u00e9s IP-c\u00edmek list\u00e1j\u00e1t. De a modern megk\u00f6zel\u00edt\u00e9s egy adatb\u00e1zis, nginx vagy apache frontenddel, API-val \u00e9s sz\u00e9lesk\u00f6r\u0171 IP-c\u00edm- \u00e9s h\u00e1l\u00f3zatkezel\u00e9si funkci\u00f3kkal, VRF-re bontva.<br \/>\nIPAM - IP C\u00edmkezel\u00e9s. <\/p>\n<p>A mi feladatunkhoz a k\u00f6vetkez\u0151 inform\u00e1ci\u00f3kat fogjuk t\u00e1rolni benne:<\/p>\n<ul>\n<li>VLAN<\/li>\n<li>VRF<\/li>\n<li>H\u00e1l\u00f3zatok \/ Alm\u0171veletek<\/li>\n<li>IP address<\/li>\n<li>C\u00edmek hozz\u00e1rendel\u00e9se eszk\u00f6z\u00f6kh\u00f6z, h\u00e1l\u00f3zatok lokaliz\u00e1l\u00e1s\u00e1hoz \u00e9s VLAN sz\u00e1mokhoz<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/6d476d48f95ed663d84cae052a86d129.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNyilv\u00e1nval\u00f3, hogy biztosak akarunk lenni abban, hogy \u00faj IP-c\u00edmet rendel\u00fcnk a ToR loopback-hez, \u00e9s nem fogunk azon akad\u00e1lyozni, hogy m\u00e1r valaki m\u00e1snak ki van osztva. Vagy hogy ugyanazt a prefixet k\u00e9tszer haszn\u00e1ltuk k\u00fcl\u00f6nb\u00f6z\u0151 helyeken a h\u00e1l\u00f3zatban. <br \/>\nDe hogyan seg\u00edt ez az automatiz\u00e1l\u00e1sban? <br \/>\nK\u00f6nnyen. <br \/>\nA rendszerb\u0151l megkeress\u00fck a Loopbacks szerep\u00e9vel rendelkez\u0151 prefixet, amelyhez IP-c\u00edmek \u00e1llnak rendelkez\u00e9sre - ha tal\u00e1lunk, kiosztjuk a c\u00edmet, ha nem, k\u00e9rj\u00fck egy \u00faj prefix l\u00e9trehoz\u00e1s\u00e1t. <br \/>\nVagy amikor eszk\u00f6z konfigur\u00e1ci\u00f3t hozunk l\u00e9tre, a rendszerb\u0151l megtudhatjuk, hogy melyik VRF-ben kell lennie a fel\u00fcletnek. <br \/>\nAmikor \u00faj szervert ind\u00edtunk, a szkript megkeresi a rendszert, hogy megtudja, melyik szerverkapcsol\u00f3n, melyik porton \u00e9s milyen alh\u00e1l\u00f3zat van hozz\u00e1rendelve a fel\u00fclethez - ebb\u0151l fogjuk kiosztani a szerver c\u00edm\u00e9t. <\/p>\n<p>\nFelt\u0171nik az ig\u00e9ny, hogy a DCIM-et \u00e9s az IPAM-ot egy rendszerbe egyes\u00edts\u00fck, hogy elker\u00fclj\u00fck a funkci\u00f3k duplik\u00e1l\u00e1s\u00e1t \u00e9s ne kelljen k\u00e9t hasonl\u00f3 entit\u00e1st kezelni. <br \/>\n\u00cdgy is fogunk tenni. <\/p>\n<h2>3. komponens: H\u00e1l\u00f3zati szolg\u00e1ltat\u00e1sok le\u00edr\u00f3 rendszere<\/h2>\n<p>\nHa az els\u0151 k\u00e9t rendszer olyan v\u00e1ltoz\u00f3kat t\u00e1rol, amelyeket m\u00e9g haszn\u00e1lni kell, akkor a harmadik minden eszk\u00f6zszerephez le\u00edrja, hogyan kell azt konfigur\u00e1lni. <br \/>\nK\u00e9t k\u00fcl\u00f6nb\u00f6z\u0151 t\u00edpus\u00fa h\u00e1l\u00f3zati szolg\u00e1ltat\u00e1st \u00e9rdemes kiemelni: <\/p>\n<ul>\n<li>Infrastrukt\u00far\u00e1k<\/li>\n<li>Kliensek.<\/li>\n<\/ul>\n<p>Az els\u0151dleges c\u00e9ljuk a alapvet\u0151 kapcsolatok biztos\u00edt\u00e1sa \u00e9s az eszk\u00f6zkezel\u00e9s. Ilyenek p\u00e9ld\u00e1ul a VTY, SNMP, NTP, Syslog, AAA, \u00fatv\u00e1laszt\u00e1si protokollok, CoPP, stb. <br \/>\nA m\u00e1sodlagos szolg\u00e1ltat\u00e1sok az \u00fcgyf\u00e9l sz\u00e1m\u00e1ra szerveznek meg egy szolg\u00e1ltat\u00e1st: MPLS L2 \/ L3VPN, GRE, VXLAN, VLAN, L2TP stb. <br \/>\nTerm\u00e9szetesen vannak hat\u00e1rvonalas esetek - hov\u00e1 soroljuk az MPLS LDP-t, BGP-t? Az \u00fatv\u00e1laszt\u00e1si protokollok is alkalmazhat\u00f3k az \u00fcgyfelek sz\u00e1m\u00e1ra. De ez nem l\u00e9nyeges. <\/p>\n<p>Mindk\u00e9t t\u00edpus\u00fa szolg\u00e1ltat\u00e1s konfigur\u00e1l\u00e1si primit\u00edvekre bonthat\u00f3:<\/p>\n<ul>\n<li>fizikai \u00e9s logikai interf\u00e9szek (c\u00edm \/ tag, mtu)<\/li>\n<li>IP-c\u00edmek \u00e9s VRF (IP, IPv6, VRF)<\/li>\n<li>ACL-ek \u00e9s forgalomkezel\u00e9si szab\u00e1lyok<\/li>\n<li>Protokollok (IGP, BGP, MPLS)<\/li>\n<li>\u00datv\u00e1laszt\u00e1si politik\u00e1k (prefix list\u00e1k, k\u00f6z\u00f6ss\u00e9gek, ASN sz\u0171r\u0151k).<\/li>\n<li>Szolg\u00e1ltat\u00e1si szolg\u00e1ltat\u00e1sok (SSH, NTP, LLDP, Syslog\u2026)<\/li>\n<li>\u00c9s \u00edgy tov\u00e1bb.<\/li>\n<\/ul>\n<p>\nHogyan is fogjuk ezt megval\u00f3s\u00edtani, arra m\u00e9g nem tudom a v\u00e1laszt. K\u00fcl\u00f6n cikkben k\u00f6r\u00fclj\u00e1rjuk.<\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/092bc3a4b875f4a6422ee13fb580ba4f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHa egy kicsit k\u00f6zelebb \u00e1llunk a val\u00f3s\u00e1ghoz, le\u00edrhatn\u00e1nk, hogy<br \/>\nA Leaf switch-nek BGP session-\u00f6ket kell l\u00e9tes\u00edtenie az \u00f6sszes csatlakoztatott Spine switch-el, import\u00e1lnia kell a csatlakoztatott h\u00e1l\u00f3zatokat a folyamatba, \u00e9s a Spine switch-ekt\u0151l csak meghat\u00e1rozott prefixb\u0151l \u00e9rkez\u0151 h\u00e1l\u00f3zatokat kell elfogadnia. A CoPP IPv6 ND-t korl\u00e1tozni kell 10 pps-re, \u00e9s \u00edgy tov\u00e1bb. <br \/>\nA Spine switch-ek pedig session-\u00f6ket tartanak fenn az \u00f6sszes csatlakoztatott Leaf switch-el, mint route reflector-k\u00e9nt m\u0171k\u00f6dnek, \u00e9s csak bizonyos hossz\u00fas\u00e1g\u00fa \u00e9s meghat\u00e1rozott k\u00f6z\u00f6ss\u00e9ggel rendelkez\u0151 \u00fatvonalakat fogadnak el t\u0151l\u00fck.<\/p>\n<h2>4. komponens. Az eszk\u00f6z inicializ\u00e1l\u00e1si mechanizmusa<\/h2>\n<p>\nEzen a c\u00edmen sok olyan tev\u00e9kenys\u00e9get fogok \u00f6ssze, amelyeknek meg kell t\u00f6rt\u00e9nnie ahhoz, hogy az eszk\u00f6z l\u00e1that\u00f3v\u00e1 v\u00e1ljon, \u00e9s t\u00e1volr\u00f3l el\u00e9rhet\u0151 legyen.<\/p>\n<ol>\n<li>Az eszk\u00f6z nyilv\u00e1ntart\u00e1si rendszerbe val\u00f3 bevitele.<\/li>\n<li>Ir\u00e1ny\u00edt\u00f3 IP-c\u00edm kiad\u00e1sa.<\/li>\n<li>Alapvet\u0151 hozz\u00e1f\u00e9r\u00e9s be\u00e1ll\u00edt\u00e1sa: <br \/>\nHostname, ir\u00e1ny\u00edt\u00f3 IP-c\u00edm, \u00e1tj\u00e1r\u00f3 a kezel\u0151h\u00e1l\u00f3zathoz, felhaszn\u00e1l\u00f3k, SSH kulcsok, protokollok \u2014 telnet\/SSH\/NETCONF<\/li>\n<\/ol>\n<p>Itt h\u00e1rom megk\u00f6zel\u00edt\u00e9s l\u00e9tezik:<\/p>\n<ul>\n<li>Teljesen k\u00e9zi. Az eszk\u00f6zt elhozz\u00e1k a standra, ahol egy hagyom\u00e1nyos ember beviszi a rendszerekbe, csatlakozik a konzolhoz \u00e9s be\u00e1ll\u00edtja. Kisebb statikus h\u00e1l\u00f3zatokban m\u0171k\u00f6dhet.<\/li>\n<li>ZTP \u2014 Zero Touch Provisioning. A hardver meg\u00e9rkezett, be\u00e1llt, DHCP-n kapott c\u00edmet, \u00e9s elment egy speci\u00e1lis szerverre, majd \u00f6n\u00e1ll\u00f3an konfigur\u00e1lta mag\u00e1t. <\/li>\n<li>Konzol szerver infrastrukt\u00fara, ahol az els\u0151 be\u00e1ll\u00edt\u00e1s automatikusan t\u00f6rt\u00e9nik a konzol porton kereszt\u00fcl.<\/li>\n<\/ul>\n<p>Mindh\u00e1romr\u00f3l k\u00fcl\u00f6n cikkben fogunk besz\u00e9lni.<\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/6d8d061e53b508edbbcbd98fe496ca91.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>5. komponens. Szolg\u00e1ltat\u00f3f\u00fcggetlen konfigur\u00e1ci\u00f3s modell<\/h2>\n<p>\nEddig minden rendszer k\u00fcl\u00f6n\u00e1ll\u00f3, szigetszer\u0171 r\u00e9szekb\u0151l \u00e1llt, amelyek v\u00e1ltoz\u00f3kat \u00e9s deklarat\u00edv le\u00edr\u00e1st adnak arr\u00f3l, amit a h\u00e1l\u00f3zaton l\u00e1tni szeretn\u00e9nk. De el\u0151bb-ut\u00f3bb konkr\u00e9tumokkal is foglalkoznunk kell. <br \/>\nEzen a szakaszon minden egyes konkr\u00e9t eszk\u00f6z eset\u00e9ben az primit\u00edvek, szolg\u00e1ltat\u00e1sok \u00e9s v\u00e1ltoz\u00f3k kombin\u00e1l\u00f3dnak egy konfigur\u00e1ci\u00f3s modellben, amely a konkr\u00e9t eszk\u00f6z teljes konfigur\u00e1ci\u00f3j\u00e1t t\u00e9nylegesen le\u00edrja, mindezt szolg\u00e1ltat\u00f3f\u00fcggetlen m\u00f3don. <br \/>\nMit ad ez a l\u00e9p\u00e9s? Mi\u00e9rt ne form\u00e1ljuk meg az eszk\u00f6z konfigur\u00e1ci\u00f3j\u00e1t azonnal, amelyet egyszer\u0171en felt\u00f6lthet\u00fcnk? <br \/>\nVal\u00f3j\u00e1ban ez h\u00e1rom feladat megold\u00e1s\u00e1ra ad lehet\u0151s\u00e9get:<\/p>\n<ol>\n<li> Ne alkalmazkodj a k\u00fcl\u00f6nb\u00f6z\u0151 eszk\u00f6zinterf\u00e9szekhez. Legyen az CLI, NETCONF, RESTCONF, SNMP \u2014 a modell ugyanaz marad.<\/li>\n<li> Ne tartsd a sablonok\/scriptok sz\u00e1m\u00e1t a h\u00e1l\u00f3zaton l\u00e9v\u0151 besz\u00e1ll\u00edt\u00f3k sz\u00e1m\u00e1hoz. A diz\u00e1jnv\u00e1ltoz\u00e1sok eset\u00e9n ne kelljen t\u00f6bbsz\u00f6r is ugyanazt m\u00f3dos\u00edtani.<\/li>\n<li> T\u00f6ltsd le a konfigur\u00e1ci\u00f3t az eszk\u00f6zr\u0151l (biztons\u00e1gi ment\u00e9s), bontsd le ugyanolyan modell\u00e9, \u00e9s k\u00f6zvetlen\u00fcl hasonl\u00edtsd \u00f6ssze a c\u00e9lnak megfelel\u0151 konfigur\u00e1ci\u00f3t a megl\u00e9v\u0151vel, hogy kisz\u00e1mold a k\u00fcl\u00f6nbs\u00e9get \u00e9s elk\u00e9sz\u00edtsd a konfigur\u00e1ci\u00f3s jav\u00edt\u00e1st, amely csak azokat a r\u00e9szeket v\u00e1ltoztatja meg, amelyek sz\u00fcks\u00e9gesek vagy a elt\u00e9r\u00e9sek azonos\u00edt\u00e1sa \u00e9rdek\u00e9ben.<\/li>\n<\/ol>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/a154c42ebe7978fcc5b2ce4f235516c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEnnek az etapnak az eredm\u00e9nyek\u00e9nt f\u00fcggetlen konfigur\u00e1ci\u00f3t kapunk a besz\u00e1ll\u00edt\u00f3kt\u00f3l.<\/p>\n<h2>6. komponens. Besz\u00e1ll\u00edt\u00f3-specifikus interf\u00e9sz illeszt\u0151program<\/h2>\n<p>\nNe \u00e1ltassuk magunkat azzal, hogy valaha a Cisco konfigur\u00e1l\u00e1sa olyan egyszer\u0171 lesz, mint a Juniper\u00e9, csup\u00e1n azonos h\u00edv\u00e1sok k\u00fcld\u00e9s\u00e9vel. Annak ellen\u00e9re, hogy a feh\u00e9r dobozok n\u00e9pszer\u0171s\u00e9ge n\u00f6vekszik, \u00e9s megjelenik a NETCONF, RESTCONF, OpenConfig t\u00e1mogat\u00e1s, a konkr\u00e9t tartalom, amelyet ezek a protokollok sz\u00e1ll\u00edtanak, gy\u00e1rt\u00f3nk\u00e9nt elt\u00e9r\u0151, \u00e9s ez az egyik versenyel\u0151ny\u00fck, amelyet nem adnak fel k\u00f6nnyen. <br \/>\nEz k\u00f6r\u00fclbel\u00fcl olyan, mint az OpenContrail \u00e9s az OpenStack, amelyek RestAPI-t haszn\u00e1lnak \u00e9s teljesen k\u00fcl\u00f6nb\u00f6z\u0151 h\u00edv\u00e1sokat v\u00e1rnak el. <\/p>\n<p>Teh\u00e1t az \u00f6t\u00f6dik l\u00e9p\u00e9sben a besz\u00e1ll\u00edt\u00f3k f\u00fcggetlen modellj\u00e9nek azt a form\u00e1t kell felvennie, amely k\u00e9szen \u00e1ll a hardverre t\u00f6rt\u00e9n\u0151 telep\u00edt\u00e9sre. <br \/>\nItt azt\u00e1n minden eszk\u00f6z haszn\u00e1lhat\u00f3 (nem): CLI, NETCONF, RESTCONF, SNMP egyszer\u0171en.<\/p>\n<p>Ez\u00e9rt sz\u00fcks\u00e9g\u00fcnk lesz egy illeszt\u0151programra, amely a kor\u00e1bbi l\u00e9p\u00e9s eredm\u00e9ny\u00e9t konkr\u00e9t besz\u00e1ll\u00edt\u00f3i form\u00e1tumba helyezi \u00e1t: CLI parancsok sorozata, XML strukt\u00fara.<\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/6ed8e935183075fda60a209477f84937.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>7. komponens. A konfigur\u00e1ci\u00f3 eszk\u00f6zre juttat\u00e1s\u00e1nak mechanizmusa<\/h2>\n<p>\nA konfigur\u00e1ci\u00f3t m\u00e1r gener\u00e1ltuk, de azt m\u00e9g el is kell juttatni az eszk\u00f6z\u00f6kre \u2014 nyilv\u00e1nval\u00f3an nem manu\u00e1lisan. <br \/>\n<b>El\u0151sz\u00f6r is<\/b>, felmer\u00fcl a k\u00e9rd\u00e9s, hogy milyen sz\u00e1ll\u00edt\u00f3eszk\u00f6zt fogunk haszn\u00e1lni? A v\u00e1laszt\u00e9k ma m\u00e1r nem kicsi:<\/p>\n<ul>\n<li>CLI (telnet, ssh)<\/li>\n<li>SNMP<\/li>\n<li>NETCONF<\/li>\n<li>RESTCONF<\/li>\n<li>REST API<\/li>\n<li>OpenFlow (b\u00e1r ez a list\u00e1b\u00f3l kiss\u00e9 kil\u00f3g, mivel ez a FIB k\u00fcld\u00e9s\u00e9nek m\u00f3dja, nem a be\u00e1ll\u00edt\u00e1sok\u00e9)<\/li>\n<\/ul>\n<p>N\u00e9zz\u00fck, rendet kellene tenni. A CLI az \u00f6r\u00f6ks\u00e9g. Az SNMP... kh\u00f6m-kh\u00f6m.<br \/>\nA RESTCONF \u2014 m\u00e9g mindig ismeretlen \u00e1llat, a REST API-t szinte senki sem t\u00e1mogatja. Ez\u00e9rt a ciklus sor\u00e1n a NETCONF-ra fogunk \u00f6sszpontos\u00edtani.<\/p>\n<p>Val\u00f3j\u00e1ban, ahogy az olvas\u00f3 m\u00e1r r\u00e1j\u00f6tt, az interf\u00e9szt a fentebbi pillanatban m\u00e1r meghat\u00e1roztuk \u2014 a kor\u00e1bbi l\u00e9p\u00e9s eredm\u00e9nye m\u00e1r a v\u00e1lasztott interf\u00e9sz form\u00e1tum\u00e1ban van prezent\u00e1lva.<\/p>\n<p><b>Secondly<\/b>, de milyen eszk\u00f6z\u00f6kkel fogjuk ezt megtenni?<br \/>\nItt is nagy a v\u00e1laszt\u00e9k:<\/p>\n<ul>\n<li>Saj\u00e1t \u00edr\u00e1s\u00fa szkript vagy platform. Felszerelkez\u00fcnk ncclient-tel \u00e9s asyncIO-val, \u00e9s megcsin\u00e1ljuk magunk. Mi\u00e9rt ne \u00e9p\u00edthetn\u00e9nk meg a telep\u00edt\u00e9si rendszert a null\u00e1r\u00f3l?<\/li>\n<li>Ansible a gazdag h\u00e1l\u00f3zati modul k\u00f6nyvt\u00e1r\u00e1val.<\/li>\n<li>Salt a szeg\u00e9nyes h\u00e1l\u00f3zati munk\u00e1j\u00e1val \u00e9s Napalm \u00f6sszekapcsol\u00f3d\u00e1s\u00e1val.<\/li>\n<li>Tulajdonk\u00e9ppen a Napalm, ami ismer n\u00e9h\u00e1ny gy\u00e1rt\u00f3t, \u00e9s ennyi, viszl\u00e1t.<\/li>\n<li>Nornir \u2014 egy m\u00e1sik \u00e1llat, amelyet a j\u00f6v\u0151ben elemezni fogunk.<\/li>\n<\/ul>\n<p>Itt m\u00e9g nem v\u00e1lasztott\u00e1k ki a kedvencet \u2014 tapogat\u00f3zunk.<\/p>\n<p>Mi m\u00e9g fontos itt? A konfigur\u00e1ci\u00f3 alkalmaz\u00e1s\u00e1nak k\u00f6vetkezm\u00e9nyei. <br \/>\nSikeres vagy sem. Megmaradt-e a hozz\u00e1f\u00e9r\u00e9s a hardverhez vagy sem. <br \/>\n\u00dagy t\u0171nik, itt seg\u00edthet a commit meger\u0151s\u00edt\u00e9se \u00e9s \u00e9rv\u00e9nyes\u00edt\u00e9se, hogy mi ker\u00fclt az eszk\u00f6zbe. <br \/>\nEz a NETCONF helyes megval\u00f3s\u00edt\u00e1s\u00e1val egy\u00fctt jelent\u0151sen sz\u0171k\u00edti a megfelel\u0151 eszk\u00f6z\u00f6k k\u00f6r\u00e9t \u2014 a norm\u00e1lis commitok nem sok gy\u00e1rt\u00f3t t\u00e1mogatnak. De ez csak egy k\u00f6telez\u0151 felt\u00e9tel az <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81_%D0%BF%D1%80%D0%B5%D0%B4%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F\">RFP<\/a><\/noindex>. V\u00e9g\u00fcl is senki sem agg\u00f3dik, hogy egy orosz gy\u00e1rt\u00f3 sem felel meg a 32*100GE interf\u00e9sz felt\u00e9teleinek. Vagy agg\u00f3dik?<\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/59d8ad3b55b9c107642550bb06fc759a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>8. komponens. CI\/CD<\/h2>\n<p>\nErre a pontra m\u00e1r k\u00e9szen \u00e1ll a konfigur\u00e1ci\u00f3 az \u00f6sszes h\u00e1l\u00f3zati eszk\u00f6z sz\u00e1m\u00e1ra.<br \/>\nAzt \u00edrom, hogy \u00abaz \u00f6sszes\u00bb, mert a h\u00e1l\u00f3zat \u00e1llapot\u00e1nak verzi\u00f3kezel\u00e9s\u00e9r\u0151l besz\u00e9l\u00fcnk. \u00c9s m\u00e9g ha csak egy switch be\u00e1ll\u00edt\u00e1sait kell is megv\u00e1ltoztatni, a v\u00e1ltoztat\u00e1sokat az eg\u00e9sz h\u00e1l\u00f3zatra kisz\u00e1m\u00edtj\u00e1k. Nyilv\u00e1nval\u00f3, hogy ez a legt\u00f6bb csom\u00f3pont eset\u00e9n nulla lehet.<\/p>\n<p>De, ahogy m\u00e1r kor\u00e1bban eml\u00edtettem, nem vagyunk barb\u00e1rok, hogy mindent egyszerre toljunk a produkt\u00edv rendszerbe. <br \/>\nA gener\u00e1lt konfigur\u00e1ci\u00f3nak el\u0151sz\u00f6r \u00e1t kell mennie egy CI\/CD Pipeline-on.<\/p>\n<blockquote><p>A CI\/CD a Folyamatos Integr\u00e1ci\u00f3t, Folyamatos Telep\u00edt\u00e9st jelenti. Ez egy megk\u00f6zel\u00edt\u00e9s, amelyben a csapat nem f\u00e9l \u00e9vben egyszer dobja piacra az \u00faj f\u0151verzi\u00f3t, teljesen felv\u00e1ltva a r\u00e9git, hanem rendszeresen, fokozatosan telep\u00edti (Deployment) az \u00faj funkci\u00f3t kis r\u00e9szekben, amelyeket alaposan tesztelnek a kompatibilit\u00e1s, biztons\u00e1g \u00e9s m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g szempontj\u00e1b\u00f3l (Integration).\n<\/p><\/blockquote>\n<p>Ehhez van egy verzi\u00f3kezel\u0151 rendszer\u00fcnk, amely nyomon k\u00f6veti a konfigur\u00e1ci\u00f3s v\u00e1ltoz\u00e1sokat, van egy laboratory, ahol ellen\u0151rizz\u00fck, hogy a kliensszolg\u00e1ltat\u00e1s ne romoljon el, van egy monitorkezel\u0151 rendszer, amely ezt ellen\u0151rzi, \u00e9s az utols\u00f3 l\u00e9p\u00e9s - a v\u00e1ltoz\u00e1sok kiad\u00e1sa a m\u0171k\u00f6d\u0151 h\u00e1l\u00f3zatba.<\/p>\n<p>A hibakeres\u0151 parancsokat kiv\u00e9ve, a h\u00e1l\u00f3zaton v\u00e9grehajtott \u00f6sszes v\u00e1ltoz\u00e1snak \u00e1t kell mennie a CI\/CD Pipeline-on - ez a nyugodt \u00e9let\u00fcnk \u00e9s a hossz\u00fa, boldog karrier\u00fcnk z\u00e1loga.<\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/101a5ff87c7a9c7b6776aca9daf762a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>9. komponens. Biztons\u00e1gi ment\u00e9si \u00e9s elt\u00e9r\u00e9sek keres\u00e9si rendszer.<\/h2>\n<p>\nA biztons\u00e1gi m\u00e1solatokr\u00f3l nem \u00e1rt egyszer\u0171en besz\u00e9lni. <br \/>\nCsak a cron vagy a konfigur\u00e1ci\u00f3 gitben val\u00f3 t\u00e9nyleges megv\u00e1ltoztat\u00e1sa alapj\u00e1n fogjuk \u0151ket t\u00e1rolni.<\/p>\n<p>A m\u00e1sodik r\u00e9sz azonban \u00e9rdekesebb - ezek\u00e9rt a biztons\u00e1gi m\u00e1solatok\u00e9rt valakinek figyelnie kell. Egyes esetekben ennek a valakinek vissza kell \u00e1ll\u00edtania mindent, ahogy volt, m\u00edg m\u00e1s esetekben sz\u00f3lnia kell valakinek, hogy probl\u00e9ma van. <br \/>\nP\u00e9ld\u00e1ul, ha megjelenik egy \u00faj felhaszn\u00e1l\u00f3, aki nincs be\u00edrva a v\u00e1ltoz\u00f3k k\u00f6z\u00e9, azt messze kell t\u00e1vol\u00edtani a hackt\u0151l. Ha pedig egy \u00faj t\u0171zfal-szab\u00e1ly l\u00e9p \u00e9letbe - jobb, ha nem ny\u00falk\u00e1lunk, lehet, hogy valaki csak bekapcsolta a hibakeres\u00e9st, vagy lehet, hogy az \u00faj szolg\u00e1ltat\u00e1s, a rest, nem a szab\u00e1lyzat szerint lett felvezetve, de m\u00e1r haszn\u00e1lj\u00e1k.<\/p>\n<p>Egy bizonyos kis delta a teljes h\u00e1l\u00f3zat szempontj\u00e1b\u00f3l \u00fagyis elker\u00fclhetetlen, b\u00e1rmilyen automatiz\u00e1l\u00f3 rendszer \u00e9s ac\u00e9lkez\u0171 ir\u00e1ny\u00edt\u00e1s mellett. A probl\u00e9m\u00e1k hibakeres\u00e9se \u00e9rdek\u00e9ben senki sem fogja a konfigur\u00e1ci\u00f3t a rendszerekbe bevinni. R\u00e1ad\u00e1sul a konfigur\u00e1ci\u00f3s modell tal\u00e1n m\u00e9g nem is teszi lehet\u0151v\u00e9 azokat. <\/p>\n<blockquote><p>P\u00e9ld\u00e1ul, egy t\u0171zfal-szab\u00e1ly a bizonyos IP-c\u00edmekre \u00e9rkez\u0151 csomagok sz\u00e1m\u00e1nak megsz\u00e1mol\u00e1s\u00e1ra, a probl\u00e9ma lokaliz\u00e1l\u00e1s\u00e1ra - teljesen rutinszer\u0171 ideiglenes konfigur\u00e1ci\u00f3.\n<\/p><\/blockquote>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/390f78139d336f1fc2c60573bccfe76c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>10. komponens. Ellen\u0151rz\u0151 rendszer.<\/h2>\n<p>\nEleinte nem akartam a monitoring t\u00e9m\u00e1j\u00e1t feldolgozni - v\u00e9g\u00fcl is ezt a k\u00e9rd\u00e9st \u00e1tbulizni neh\u00e9z, vitatott \u00e9s bonyolult dolog. De a folyamatok sor\u00e1n kider\u00fclt, hogy ez az automatiz\u00e1l\u00e1s elengedhetetlen r\u00e9sze. \u00c9s m\u00e9g csak gyakorlat n\u00e9lk\u00fcl sem lehet elker\u00fclni. <\/p>\n<p>A gondolat tov\u00e1bbfejlesztve - ez a CI\/CD folyamat organikus r\u00e9sze. A konfigur\u00e1ci\u00f3 kivet\u00edt\u00e9se ut\u00e1n a h\u00e1l\u00f3zatra k\u00e9peseknek kell lenn\u00fcnk meghat\u00e1rozni, hogy most minden rendben van-e vele. <br \/>\n\u00c9s nem csak az interf\u00e9szek haszn\u00e1lat\u00e1nak grafikonjaival vagy a csom\u00f3pontok el\u00e9rhet\u0151s\u00e9g\u00e9vel, hanem finomabb dolgokkal is - a sz\u00fcks\u00e9ges \u00fatvonalak megl\u00e9t\u00e9t, az azokhoz tartoz\u00f3 attrib\u00fatumokat, a BGP-session\u00f6k, OSPF-szomsz\u00e9dok sz\u00e1m\u00e1t, a kiemelt szolg\u00e1ltat\u00e1sok End-to-End m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g\u00e9t.<br \/>\nNem \u00e1lltak le a syslogok k\u00fcls\u0151 szerverre val\u00f3 \u00edr\u00e1sa, nem mondott cs\u0151d\u00f6t az SFlow-\u00fcgyn\u00f6k, nem n\u0151tt-e meg a sorokban a csepp, \u00e9s nem s\u00e9r\u00fclt-e meg a kapcsolat valamilyen prefix p\u00e1r k\u00f6z\u00f6tt?<\/p>\n<p>Egy k\u00fcl\u00f6n cikkben fogunk err\u0151l is elm\u00e9lkedni.<\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/08aeee4939081abb21e61abadd0ce5de.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulla r\u00e9sz. Tervez\u00e9s\" src=\"\/wp-content\/uploads\/2019\/07\/13c186070c85fd00f7b6923df154f1b6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h1>Z\u00e1r\u00e1s<\/h1>\n<p>\nAlapk\u00e9nt az egyik modern adatk\u00f6zponti h\u00e1l\u00f3zati diz\u00e1jnt v\u00e1lasztottam \u2014 L3 Clos Fabric BGP routing protokollal.<br \/>\nEz\u00fattal Juniper alap\u00fa h\u00e1l\u00f3zatot \u00e9p\u00edt\u00fcnk, mert most a JunOs interf\u00e9sz val\u00f3ban egyer\u0151.<\/p>\n<p>Megnehez\u00edtj\u00fck a dolgunkat, csak Open Source eszk\u00f6z\u00f6ket \u00e9s multi-vendor h\u00e1l\u00f3zatot haszn\u00e1lva \u2014 ez\u00e9rt a Juniper mellett egy m\u00e1sik szerencs\u00e9s kiv\u00e1lasztottra is sz\u00fcks\u00e9g lesz.<\/p>\n<p>A k\u00f6zelj\u00f6v\u0151 publik\u00e1ci\u00f3s tervei k\u00f6r\u00fclbel\u00fcl a k\u00f6vetkez\u0151k\u00e9ppen alakulnak:<br \/>\nEl\u0151sz\u00f6r a virtu\u00e1lis h\u00e1l\u00f3zatokr\u00f3l fogok mes\u00e9lni. El\u0151sz\u00f6r is, mert ezt szeretn\u00e9m, m\u00e1sodszor meg az\u00e9rt, mert en\u00e9lk\u00fcl az infrastrukt\u00fara h\u00e1l\u00f3zati diz\u00e1jnja nem lesz t\u00fal \u00e9rthet\u0151.<br \/>\nAzt\u00e1n a h\u00e1l\u00f3zati diz\u00e1jnr\u00f3l: topol\u00f3gia, routing, politik\u00e1k.<br \/>\n\u00d6ssze\u00e1ll\u00edtunk egy laborat\u00f3riumi standot.<br \/>\nElm\u00e9lked\u00fcnk \u00e9s tal\u00e1n gyakorolni fogunk az eszk\u00f6z inicializ\u00e1l\u00e1s\u00e1ban a h\u00e1l\u00f3zatban.<br \/>\nA k\u00f6vetkez\u0151kben pedig minden komponensr\u0151l intim r\u00e9szletekben fogok besz\u00e9lni.<\/p>\n<p>Igen, nem \u00edg\u00e9rem, hogy eleg\u00e1nsan fogom befejezni ezt a ciklust egy k\u00e9sz megold\u00e1ssal. \ud83d\ude42<\/p>\n<h5>Hasznos linkek<\/h5>\n<p><\/p>\n<ul>\n<li>Miel\u0151tt belemer\u00fcln\u00e9nk a sorozatba, \u00e9rdemes elolvasni Natalia Samoylenko k\u00f6nyv\u00e9t <noindex><a rel=\"nofollow\" href=\"https:\/\/natenka.gitbook.io\/pyneng\/\">Python a h\u00e1l\u00f3zati m\u00e9rn\u00f6k\u00f6k sz\u00e1m\u00e1ra<\/a><\/noindex>. Tal\u00e1n \u00e9rdemes lenne elv\u00e9gezni <noindex><a rel=\"nofollow\" href=\"https:\/\/natenka.github.io\/pyneng-online\/\">kurzus<\/a><\/noindex>.<\/li>\n<li>Hasznos lenne tov\u00e1bb\u00e1 elolvasni <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc7938\">RFC<\/a><\/noindex> a Facebook adatk\u00f6zponti gy\u00e1rak diz\u00e1jnj\u00e1r\u00f3l, Lapukhova P\u00e9ter szerz\u0151j\u00e9t\u0151l.<\/li>\n<li>Az Overlay-alap\u00fa SDN m\u0171k\u00f6d\u00e9s\u00e9r\u0151l a dokument\u00e1ci\u00f3 ad t\u00e1j\u00e9koztat\u00e1st az architekt\u00far\u00e1r\u00f3l. <noindex><a rel=\"nofollow\" href=\"https:\/\/tungstenfabric.github.io\/website\/Tungsten-Fabric-Architecture.html\">Tungsten Fabric<\/a><\/noindex> (kor\u00e1bban Open Contrail).<\/li>\n<\/ul>\n<h5>K\u00f6sz\u00f6n\u00f6m<\/h5>\n<p>\nRoman Gorge. K\u00f6sz\u00f6net a megjegyz\u00e9sek\u00e9rt \u00e9s a jav\u00edt\u00e1sok\u00e9rt.<br \/>\nArtem Chernbay. K\u00f6sz\u00f6net a KDPV-\u00e9rt.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/453516\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0414\u0421\u041c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f, \u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u2014 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c. \u0414\u043e\u043b\u0433\u0438\u0435 \u0433\u043e\u0434\u044b \u043d\u0430\u0448 \u0431\u0440\u0430\u0442 \u0441\u0442\u0440\u0430\u0434\u0430\u043b \u043e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0443\u0442\u0438\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u0441\u043a\u0440\u0435\u0449\u0438\u0432\u0430\u043b \u043f\u0430\u043b\u044c\u0446\u044b \u043f\u0435\u0440\u0435\u0434 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c \u0438 \u043d\u0435\u0434\u043e\u0441\u044b\u043f\u0430\u043b \u0438\u0437-\u0437\u0430 \u043d\u043e\u0447\u043d\u044b\u0445 \u0440\u043e\u043b\u0431\u044d\u043a\u043e\u0432. \u041d\u043e \u0442\u0451\u043c\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a\u043e\u043d\u0435\u0446. \u042d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439 \u044f \u043d\u0430\u0447\u043d\u0443 \u0441\u0435\u0440\u0438\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043d\u0435 \u0432\u0438\u0434\u0438\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f. \u041f\u043e \u0445\u043e\u0434\u0443 \u0434\u0435\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441 \u044d\u0442\u0430\u043f\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0434\u0438\u0437\u0430\u0439\u043d\u0430, \u0441 RestAPI, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26891,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35972","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=\"\u0421\u0414\u0421\u041c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f, \u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u2014 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c.\" \/>\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\/hu\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\udd47\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445. \u0427\u0430\u0441\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u0430\u044f. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0414\u0421\u041c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f, \u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u2014 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie\" \/>\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=\"2019-10-31T19:08:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:08:54+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\udd47Automatiz\u00e1l\u00e1s a legkisebbeknek. Nulladik r\u00e9sz. Tervez\u00e9s | ProHoster","description":"A SDSM has ended, but the uncontrollable desire to write remains.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\udd47\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445. \u0427\u0430\u0441\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u0430\u044f. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 | ProHoster","og:description":"\u0421\u0414\u0421\u041c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f, \u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u2014 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/avtomatizatsiya-dlya-samyh-malenkih-chast-nulevaya-planirovanie","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":"2019-10-31T19:08:54+00:00","article:modified_time":"2019-10-31T19:08:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35972","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":"2026-01-22 01:28:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 09:58:22","updated":"2026-01-22 01:28:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/35972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=35972"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/35972\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/26891"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=35972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=35972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=35972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}