Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Mae SDSM drosodd, ond erys yr awydd afreolus i ysgrifennu.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Am flynyddoedd lawer, roedd ein brawd yn dioddef o wneud gwaith arferol, croesi ei fysedd cyn cyflawni a diffyg cwsg oherwydd treigladau nos.
Ond mae'r amseroedd tywyll yn dod i ben.

Gyda'r erthygl hon byddaf yn dechrau cyfres ar sut i mi awtomatiaeth yn cael ei weld.
Ar hyd y ffordd, byddwn yn deall camau awtomeiddio, storio newidynnau, ffurfioli dyluniad, RestAPI, NETCONF, YANG, YDK a byddwn yn gwneud llawer o raglennu.
I mi yn golygu a) nad yw'n wirionedd gwrthrychol, b) nad yw'n ddiamod yr ymagwedd orau, c) gall fy marn i, hyd yn oed yn ystod y symudiad o'r erthygl gyntaf i'r olaf, newid - a dweud y gwir, o'r cam drafft i cyhoeddi, yr wyf yn ailysgrifennu popeth yn gyfan gwbl ddwywaith.

Cynnwys

  1. Amcanion
    1. Mae'r rhwydwaith fel un organeb
    2. Profi cyfluniad
    3. Fersiynu
    4. Monitro a hunan-iachau gwasanaethau

  2. Cronfeydd
    1. System stocrestr
    2. System rheoli gofod IP
    3. System disgrifiad gwasanaeth rhwydwaith
    4. Mecanwaith cychwyn dyfais
    5. Model cyfluniad gwerthwr-agnostig
    6. Rhyngwyneb gyrrwr sy'n benodol i'r gwerthwr
    7. Mecanwaith ar gyfer cyflwyno cyfluniad i'r ddyfais
    8. CI / CD
    9. Mecanwaith ar gyfer gwneud copi wrth gefn a chwilio am wyriadau
    10. System fonitro

  3. Casgliad

Byddaf yn ceisio cynnal ADSM mewn fformat ychydig yn wahanol i SDSM. Bydd erthyglau mawr, manwl, wedi eu rhifo yn parhau i ymddangos, a rhyngddynt byddaf yn cyhoeddi nodiadau bach o brofiad bob dydd. Byddaf yn ceisio brwydro yn erbyn perffeithrwydd yma a pheidio â llyfu pob un ohonynt.

Mor ddoniol yw hi mai'r ail dro mae'n rhaid i chi fynd trwy'r un llwybr.

Ar y dechrau roedd yn rhaid i mi ysgrifennu erthyglau am rwydweithiau fy hun oherwydd nad oeddent ar y RuNet.

Nawr ni allwn ddod o hyd i ddogfen gynhwysfawr a fyddai'n systemateiddio dulliau o awtomeiddio a dadansoddi'r technolegau uchod gan ddefnyddio enghreifftiau ymarferol syml.

Efallai fy mod yn anghywir, felly darparwch ddolenni i adnoddau defnyddiol. Fodd bynnag, ni fydd hyn yn newid fy mhenderfyniad i ysgrifennu, oherwydd y prif nod yw dysgu rhywbeth fy hun, ac mae gwneud bywyd yn haws i eraill yn fonws dymunol sy'n gofalu am y genyn am rannu profiad.

Byddwn yn ceisio cymryd canolfan ddata LAN DC ganolig a gweithio allan y cynllun awtomeiddio cyfan.
Byddaf yn gwneud rhai pethau bron am y tro cyntaf gyda chi.

Ni fyddaf yn wreiddiol yn y syniadau a'r offer a ddisgrifir yma. Mae gan Dmitry Figol ardderchog sianel gyda ffrydiau ar y pwnc hwn.
Bydd yr erthyglau yn gorgyffwrdd â nhw mewn sawl agwedd.

Mae gan y LAN DC 4 DC, tua 250 o switshis, hanner dwsin o lwybryddion a chwpl o waliau tân.
Nid Facebook, ond digon i wneud ichi feddwl yn ddwfn am awtomeiddio.
Fodd bynnag, mae yna farn, os oes gennych chi fwy nag 1 ddyfais, mae angen awtomeiddio eisoes.
Mewn gwirionedd, mae'n anodd dychmygu y gall unrhyw un bellach fyw heb becyn o sgriptiau pen-glin o leiaf.
Er y clywais fod yna swyddfeydd lle cedwir cyfeiriadau IP yn Excel, ac mae pob un o'r miloedd o ddyfeisiau rhwydwaith wedi'i ffurfweddu â llaw ac mae ganddo ei ffurfweddiad unigryw ei hun. Gall hyn, wrth gwrs, gael ei basio i ffwrdd fel celf fodern, ond bydd teimladau'r peiriannydd yn bendant yn cael eu tramgwyddo.

Amcanion

Nawr byddwn yn gosod y nodau mwyaf haniaethol:

  • Mae'r rhwydwaith fel un organeb
  • Profi cyfluniad
  • Fersiynau cyflwr rhwydwaith
  • Monitro a hunan-iachau gwasanaethau

Yn ddiweddarach yn yr erthygl hon byddwn yn edrych ar ba ddulliau y byddwn yn eu defnyddio, ac yn y canlynol, byddwn yn edrych ar y nodau a'r modd yn fanwl.

Mae'r rhwydwaith fel un organeb

Ymadrodd diffiniol y gyfres, er efallai nad yw'n ymddangos mor arwyddocaol ar yr olwg gyntaf: byddwn yn ffurfweddu'r rhwydwaith, nid dyfeisiau unigol.
Yn ystod y blynyddoedd diwethaf, rydym wedi gweld symudiad mewn pwyslais tuag at drin y rhwydwaith fel un endid, a dyna pam Rhwydweithio Diffiniedig Meddalwedd, Rhwydweithiau a yrrir gan Fwriad и Rhwydweithiau Ymreolaethol.
Wedi'r cyfan, beth sydd ei angen ar gymwysiadau yn fyd-eang o'r rhwydwaith: cysylltedd rhwng pwyntiau A a B (wel, weithiau + B-Z) ac ynysu oddi wrth gymwysiadau a defnyddwyr eraill.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Ac felly ein tasg yn y gyfres hon yw adeiladu system, cynnal y cyfluniad presennol y rhwydwaith cyfan, sydd eisoes wedi'i ddadelfennu i'r cyfluniad gwirioneddol ar bob dyfais yn unol â'i rôl a'i leoliad.
System mae rheolaeth rhwydwaith yn awgrymu ein bod yn cysylltu ag ef i wneud newidiadau, ac mae, yn ei dro, yn cyfrifo'r cyflwr dymunol ar gyfer pob dyfais ac yn ei ffurfweddu.
Yn y modd hwn, rydym yn lleihau mynediad llaw i'r CLI i bron sero - rhaid ffurfioli a dogfennu unrhyw newidiadau mewn gosodiadau dyfais neu ddyluniad rhwydwaith - a dim ond wedyn ei gyflwyno i'r elfennau rhwydwaith angenrheidiol.

Hynny yw, er enghraifft, pe baem yn penderfynu y dylai switshis rac yn Kazan o hyn ymlaen gyhoeddi dau rwydwaith yn lle un, rydym yn

  1. Yn gyntaf rydym yn dogfennu newidiadau mewn systemau
  2. Cynhyrchu cyfluniad targed pob dyfais rhwydwaith
  3. Rydym yn lansio'r rhaglen diweddaru cyfluniad rhwydwaith, sy'n cyfrifo'r hyn sydd angen ei dynnu ar bob nod, beth i'w ychwanegu, ac yn dod â'r nodau i'r cyflwr dymunol.

Ar yr un pryd, rydym yn gwneud newidiadau â llaw yn unig yn y cam cyntaf.

Profi cyfluniad

Mae'n hysbysbod 80% o broblemau yn digwydd yn ystod newidiadau cyfluniad - tystiolaeth anuniongyrchol o hyn yw bod popeth fel arfer yn dawel yn ystod gwyliau'r Flwyddyn Newydd.
Rwyf wedi bod yn dyst yn bersonol i ddwsinau o amser segur byd-eang oherwydd gwall dynol: y gorchymyn anghywir, gweithredwyd y ffurfweddiad yn y gangen anghywir, anghofiodd y gymuned, dymchwelwyd MPLS yn fyd-eang ar y llwybrydd, ffurfweddwyd pum darn o galedwedd, ond nid oedd y gwall Wedi sylwi ar y chweched, cyflawnwyd hen newidiadau a wnaed gan berson arall . Mae tunnell o senarios.

Bydd awtomeiddio yn ein galluogi i wneud llai o gamgymeriadau, ond ar raddfa fwy. Fel hyn, gallwch chi fricsio nid yn unig un ddyfais, ond y rhwydwaith cyfan ar unwaith.

O'r hen amser, bu i'n teidiau wirio cywirdeb y newidiadau a wnaed gyda llygad barcud, peli o ddur ac ymarferoldeb y rhwydwaith ar ôl iddynt gael eu cyflwyno.
Gadawodd y teidiau hynny yr arweiniodd eu gwaith at amser segur a cholledion trychinebus lai o epil a dylent farw dros amser, ond mae esblygiad yn broses araf, ac felly nid yw pawb yn dal i brofi newidiadau yn y labordy yn gyntaf.
Fodd bynnag, mae'r rhai sydd wedi awtomeiddio'r broses o brofi'r ffurfweddiad a'i gymhwysiad pellach i'r rhwydwaith ar flaen y gad o ran cynnydd. Mewn geiriau eraill, benthycais y weithdrefn CI/CD (Integreiddiad Parhaus, Defnydd Parhaus) gan y datblygwyr.
Yn un o'r rhannau byddwn yn edrych ar sut i weithredu hyn gan ddefnyddio system rheoli fersiwn, yn ôl pob tebyg Github.

Unwaith y byddwch chi'n dod i arfer â'r syniad o rwydwaith CI/CD, dros nos bydd y dull o wirio ffurfweddiad trwy ei gymhwyso i rwydwaith cynhyrchu yn ymddangos fel anwybodaeth canoloesol cynnar. Math o fel taro arfben gyda morthwyl.

Parhad organig o syniadau am system rheoli rhwydwaith a CI/CD yn dod yn fersiwn llawn o'r ffurfweddiad.

Fersiynu

Byddwn yn cymryd yn ganiataol, gydag unrhyw newidiadau, hyd yn oed y rhai mwyaf mân, hyd yn oed ar un ddyfais na ellir ei gweld, bod y rhwydwaith cyfan yn symud o un wladwriaeth i'r llall.
Ac nid ydym bob amser yn gweithredu gorchymyn ar y ddyfais, rydym yn newid cyflwr y rhwydwaith.
Felly gadewch i ni alw'r fersiynau taleithiau hyn?

Gadewch i ni ddweud mai'r fersiwn gyfredol yw 1.0.0.
A yw cyfeiriad IP y rhyngwyneb Loopback ar un o'r ToRs wedi newid? Mae hwn yn fersiwn fach a bydd wedi'i rifo 1.0.1.
Fe wnaethom ddiwygio'r polisïau ar gyfer mewnforio llwybrau i BGP - ychydig yn fwy difrifol - eisoes yn 1.1.0
Fe wnaethom benderfynu cael gwared ar IGP a newid i BGP yn unig - mae hwn eisoes yn newid dyluniad radical - 2.0.0.

Ar yr un pryd, efallai y bydd gan wahanol DCs fersiynau gwahanol - mae'r rhwydwaith yn datblygu, mae offer newydd yn cael ei osod, mae lefelau newydd o feinod yn cael eu hychwanegu yn rhywle, nid mewn eraill, ac ati.

Про fersiwn semantig byddwn yn siarad mewn erthygl ar wahân.

Rwy'n ailadrodd - mae unrhyw newid (ac eithrio gorchmynion dadfygio) yn ddiweddariad fersiwn. Rhaid hysbysu gweinyddwyr o unrhyw wyriadau oddi wrth y fersiwn gyfredol.

Mae'r un peth yn wir am newidiadau treigl yn ôl - nid yw hyn yn canslo'r gorchmynion olaf, nid yw hyn yn dychwelyd gan ddefnyddio system weithredu'r ddyfais - mae hyn yn dod â'r rhwydwaith cyfan i fersiwn newydd (hen).

Monitro a hunan-iachau gwasanaethau

Mae'r dasg hunan-amlwg hon wedi cyrraedd lefel newydd mewn rhwydweithiau modern.
Yn aml, mae darparwyr gwasanaeth mawr yn cymryd yr agwedd bod angen trwsio gwasanaeth a fethwyd yn gyflym iawn a chodi un newydd, yn hytrach na chanfod beth ddigwyddodd.
Mae “iawn” yn golygu bod angen i chi gael eich gorchuddio'n hael ar bob ochr â monitro, a fydd o fewn eiliadau yn canfod y gwyriadau lleiaf oddi wrth y norm.
Ac yma nid yw'r metrigau arferol, megis llwytho rhyngwyneb neu argaeledd nodau, yn ddigon bellach. Nid yw monitro'r rhain â llaw gan y swyddog ar ddyletswydd yn ddigon ychwaith.
Am lawer o bethau dylai fod Hunan-Iachau — trodd y goleuadau monitro yn goch ac fe aethon ni a gosod y llyriad ein hunain lle roedd yn brifo.

Ac yma rydym hefyd yn monitro nid yn unig dyfeisiau unigol, ond hefyd iechyd y rhwydwaith cyfan, y ddau flwch gwyn, sy'n gymharol ddealladwy, a blwch du, sy'n fwy cymhleth.

Beth fydd ei angen arnom i roi cynlluniau mor uchelgeisiol ar waith?

  • Cael rhestr o'r holl ddyfeisiau ar y rhwydwaith, eu lleoliad, rolau, modelau, fersiynau meddalwedd.
    kazan-leaf-1.lmu.net, Kazan, deilen, Juniper QFX 5120, R18.3.
  • Cael system ar gyfer disgrifio gwasanaethau rhwydwaith.
    IGP, BGP, L2/3VPN, Polisi, ACL, NTP, SSH.
  • Gallu cychwyn y ddyfais.
    Enw gwesteiwr, Mgmt IP, Llwybr Mgmt, Defnyddwyr, RSA-Keys, LLDP, NETCONF
  • Ffurfweddwch y ddyfais a dewch â'r ffurfweddiad i'r fersiwn a ddymunir (gan gynnwys yr hen).
  • Cyfluniad prawf
  • Gwiriwch statws pob dyfais o bryd i'w gilydd am wyriadau oddi wrth y rhai presennol ac adroddwch i bwy y dylai fod.
    Dros nos, ychwanegodd rhywun reol yn dawel at yr ACL.
  • Monitro perfformiad.

Cronfeydd

Mae'n swnio'n ddigon cymhleth i ddechrau dadelfennu'r prosiect yn gydrannau.

A bydd deg ohonyn nhw:

  1. System stocrestr
  2. System rheoli gofod IP
  3. System disgrifiad gwasanaeth rhwydwaith
  4. Mecanwaith cychwyn dyfais
  5. Model cyfluniad gwerthwr-agnostig
  6. Rhyngwyneb gyrrwr sy'n benodol i'r gwerthwr
  7. Mecanwaith ar gyfer cyflwyno cyfluniad i'r ddyfais
  8. CI / CD
  9. Mecanwaith ar gyfer gwneud copi wrth gefn a chwilio am wyriadau
  10. System fonitro

Mae hyn, gyda llaw, yn enghraifft o sut y newidiodd y farn ar nodau'r cylch - roedd 4 cydran yn y drafft.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Yn y llun, darluniais yr holl gydrannau a'r ddyfais ei hun.
Mae cydrannau croestoriadol yn rhyngweithio â'i gilydd.
Po fwyaf yw'r bloc, y mwyaf o sylw y mae angen ei dalu i'r gydran hon.

Cydran 1: System Stocrestr

Yn amlwg, rydym eisiau gwybod pa offer sydd wedi'i leoli lle, beth sydd wedi'i gysylltu ag ef.
Mae'r system stocrestr yn rhan annatod o unrhyw fenter.
Yn fwyaf aml, mae gan fenter system rhestr eiddo ar wahân ar gyfer dyfeisiau rhwydwaith, sy'n datrys problemau mwy penodol.
Fel rhan o'r gyfres hon o erthyglau, byddwn yn ei alw'n DCIM - Rheoli Isadeiledd Canolfannau Data. Er bod y term DCIM ei hun, a bod yn fanwl gywir, yn cynnwys llawer mwy.

At ein dibenion ni, byddwn yn storio'r wybodaeth ganlynol am y ddyfais ynddo:

  • Rhif y rhestr
  • Teitl/Disgrifiad
  • Model (Huawei CE12800, Juniper QFX5120, ac ati.)
  • Paramedrau nodweddiadol (byrddau, rhyngwynebau, ac ati.)
  • rôl (Deilen, Asgwrn Cefn, Llwybrydd Ffin, ac ati.)
  • Lleoliad (rhanbarth, dinas, canolfan ddata, rac, uned)
  • Cydgysylltiadau rhwng dyfeisiau
  • Topoleg rhwydwaith

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Mae’n berffaith amlwg ein bod ni ein hunain eisiau gwybod hyn i gyd.
Ond a fydd hyn yn helpu at ddibenion awtomeiddio?
Yn ddiamau.
Er enghraifft, rydym yn gwybod, mewn canolfan ddata benodol ar switshis Leaf, os yw'n Huawei, dylid defnyddio ACLs i hidlo traffig penodol ar y VLAN, ac os mai Juniper ydyw, yna ar uned 0 y rhyngwyneb corfforol.
Neu mae angen i chi gyflwyno gweinydd Syslog newydd i bob ffin yn y rhanbarth.

Ynddo byddwn yn storio dyfeisiau rhwydwaith rhithwir, er enghraifft llwybryddion rhithwir neu adlewyrchwyr gwraidd. Gallwn ychwanegu gweinyddwyr DNS, NTP, Syslog ac yn gyffredinol popeth sydd mewn rhyw ffordd neu'i gilydd yn ymwneud â'r rhwydwaith.

Cydran 2: System rheoli gofod IP

Oes, a'r dyddiau hyn mae yna dimau o bobl sy'n cadw golwg ar ragddodiaid a chyfeiriadau IP mewn ffeil Excel. Ond mae'r dull modern yn dal i fod yn gronfa ddata, gyda phen blaen ar nginx/apache, API a swyddogaethau helaeth ar gyfer cofnodi cyfeiriadau IP a rhwydweithiau wedi'u rhannu'n VRFs.
IPAM - Rheoli Cyfeiriad IP.

At ein dibenion ni, byddwn yn storio'r wybodaeth ganlynol ynddo:

  • VLANs
  • VRF
  • Rhwydweithiau/Is-rwydweithiau
  • Cyfeiriadau IP
  • Cyfeiriadau rhwymo i ddyfeisiau, rhwydweithiau i leoliadau a rhifau VLAN

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Unwaith eto, mae'n amlwg ein bod am wneud yn siŵr, pan fyddwn yn dyrannu cyfeiriad IP newydd ar gyfer y ddolen ToR, na fyddwn yn baglu dros y ffaith ei fod eisoes wedi'i neilltuo i rywun. Neu ein bod wedi defnyddio'r un rhagddodiad ddwywaith ar wahanol bennau'r rhwydwaith.
Ond sut mae hyn yn helpu gydag awtomeiddio?
Hawdd
Gofynnwn am ragddodiad yn y system gyda rôl Loopbacks, sy'n cynnwys cyfeiriadau IP sydd ar gael i'w dyrannu - os canfyddir ef, rydym yn dyrannu'r cyfeiriad, os na, gofynnwn am greu rhagddodiad newydd.
Neu wrth greu cyfluniad dyfais, gallwn ddarganfod o'r un system y dylid lleoli VRF y rhyngwyneb.
Ac wrth gychwyn gweinydd newydd, mae'r sgript yn mewngofnodi i'r system, yn darganfod pa switsh y mae'r gweinydd ynddo, pa borthladd a pha isrwyd sy'n cael ei neilltuo i'r rhyngwyneb - a bydd yn dyrannu cyfeiriad y gweinydd ohono.

Mae hyn yn awgrymu awydd i gyfuno DCIM ac IPAM yn un system er mwyn peidio â dyblygu swyddogaethau a pheidio â gwasanaethu dau endid tebyg.
Dyna beth fyddwn ni'n ei wneud.

Cydran 3. System ar gyfer disgrifio gwasanaethau rhwydwaith

Os yw'r ddwy system gyntaf yn storio newidynnau y mae angen eu defnyddio rywsut o hyd, yna mae'r trydydd yn disgrifio ar gyfer rôl pob dyfais sut y dylid ei ffurfweddu.
Mae'n werth gwahaniaethu rhwng dau fath gwahanol o wasanaethau rhwydwaith:

  • Isadeiledd
  • Cleient.

Mae'r cyntaf wedi'u cynllunio i ddarparu cysylltedd sylfaenol a rheolaeth dyfais. Mae'r rhain yn cynnwys VTY, SNMP, NTP, Syslog, AAA, protocolau llwybro, CoPP, ac ati.
Mae'r olaf yn trefnu'r gwasanaeth ar gyfer y cleient: MPLS L2 / L3VPN, GRE, VXLAN, VLAN, L2TP, ac ati.
Wrth gwrs, mae yna achosion ffiniol hefyd - ble i gynnwys MPLS LDP, BGP? Oes, a gellir defnyddio protocolau llwybro ar gyfer cleientiaid. Ond nid yw hyn yn bwysig.

Mae'r ddau fath o wasanaeth yn cael eu dadelfennu'n gyntefig cyfluniad:

  • rhyngwynebau ffisegol a rhesymegol (tag/anteg, mtu)
  • Cyfeiriadau IP a VRFs (IP, IPv6, VRF)
  • ACLs a pholisïau prosesu traffig
  • Protocolau (IGP, BGP, MPLS)
  • Polisïau llwybro (rhestrau rhagddodiad, cymunedau, hidlwyr ASN).
  • Gwasanaethau cyfleustodau (SSH, NTP, LLDP, Syslog...)
  • Etc.

Sut yn union y byddwn yn gwneud hyn, nid oes gennyf syniad eto. Byddwn yn edrych i mewn iddo mewn erthygl ar wahân.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Os ychydig yn nes at fywyd, yna gallem ddisgrifio hynny
Rhaid i'r switsh Leaf gael sesiynau BGP gyda'r holl switshis Spine cysylltiedig, mewnforio rhwydweithiau cysylltiedig i'r broses, a derbyn rhwydweithiau o ragddodiad penodol o switshis Spine yn unig. Cyfyngu ar CoPP IPv6 ND i 10 pps, ac ati.
Yn eu tro, mae meingefnau yn cynnal sesiynau gyda'r holl arweinwyr cysylltiedig, gan weithredu fel adlewyrchwyr gwreiddiau, ac yn derbyn oddi wrthynt dim ond llwybrau o hyd penodol a chyda chymuned benodol.

Cydran 4: Mecanwaith Cychwyn Dyfais

O dan y pennawd hwn rwy'n cyfuno llawer o'r gweithredoedd y mae'n rhaid eu cymryd er mwyn i ddyfais ymddangos ar radar a chael mynediad o bell.

  1. Rhowch y ddyfais yn y system rhestr eiddo.
  2. Dewiswch gyfeiriad IP rheoli.
  3. Gosodwch fynediad sylfaenol iddo:
    Enw gwesteiwr, cyfeiriad IP rheoli, llwybr i'r rhwydwaith rheoli, defnyddwyr, allweddi SSH, protocolau - telnet/SSH/NETCONF

Mae tri dull:

  • Mae popeth yn gwbl â llaw. Daw'r ddyfais i'r stondin, lle bydd person organig cyffredin yn ei fewnbynnu i'r systemau, yn cysylltu â'r consol a'i ffurfweddu. Gall weithio ar rwydweithiau sefydlog bach.
  • ZTP - Darpariaeth Dim Cyffwrdd. Cyrhaeddodd y caledwedd, safodd, derbyniodd gyfeiriad trwy DHCP, aeth i weinydd arbennig, a ffurfweddu ei hun.
  • Isadeiledd gweinyddwyr consol, lle mae'r cyfluniad cychwynnol yn digwydd trwy'r porthladd consol yn y modd awtomatig.

Byddwn yn siarad am y tri mewn erthygl ar wahân.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Cydran 5: Model cyfluniad gwerthwr-agnostig

Hyd yn hyn, mae pob system wedi bod yn glytiau gwahanol sy'n darparu newidynnau a disgrifiad datganiadol o'r hyn yr hoffem ei weld ar y rhwydwaith. Ond yn hwyr neu'n hwyrach, bydd yn rhaid i chi ddelio â manylion penodol.
Ar yr adeg hon, ar gyfer pob dyfais benodol, cyfunir cyntefigau, gwasanaethau a newidynnau i fodel cyfluniad sydd mewn gwirionedd yn disgrifio cyfluniad cyflawn dyfais benodol, dim ond mewn modd niwtral o ran gwerthwr.
Beth mae'r cam hwn yn ei wneud? Beth am greu cyfluniad dyfais ar unwaith y gallwch chi ei uwchlwytho?
Mewn gwirionedd, mae hyn yn datrys tair problem:

  1. Peidiwch ag addasu i ryngwyneb penodol ar gyfer rhyngweithio â'r ddyfais. Boed yn CLI, NETCONF, RESTCONF, SNMP - bydd y model yr un peth.
  2. Peidiwch â chadw nifer y templedi / sgriptiau yn ôl nifer y gwerthwyr ar y rhwydwaith, ac os bydd y dyluniad yn newid, newidiwch yr un peth mewn sawl man.
  3. Llwythwch y cyfluniad o'r ddyfais (wrth gefn), rhowch ef yn union yr un model a chymharwch y cyfluniad targed yn uniongyrchol â'r un presennol i gyfrifo'r delta a pharatoi darn cyfluniad a fydd yn newid dim ond y rhannau hynny sy'n angenrheidiol neu i nodi gwyriadau.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

O ganlyniad i'r cam hwn, rydym yn cael cyfluniad gwerthwr-annibynnol.

Cydran 6. Rhyngwyneb gyrrwr sy'n benodol i'r gwerthwr

Ni ddylech wneud eich hun yn fwy gwastad gyda gobeithion y bydd yn bosibl, un diwrnod, ffurfweddu ciska yn union yr un ffordd â Juniper, dim ond trwy anfon yr un galwadau atynt yn union. Er gwaethaf poblogrwydd cynyddol blychau gwyn ac ymddangosiad cefnogaeth i NETCONF, RESTCONF, OpenConfig, mae'r cynnwys penodol y mae'r protocolau hyn yn ei ddarparu yn amrywio o werthwr i werthwr, a dyma un o'u gwahaniaethau cystadleuol na fyddant yn rhoi'r gorau iddi mor hawdd.
Mae hyn yn fras yr un fath ag OpenContrail ac OpenStack, sydd â RestAPI fel eu rhyngwyneb NorthBound, yn disgwyl galwadau hollol wahanol.

Felly, yn y pumed cam, rhaid i'r model gwerthwr-annibynnol fod ar y ffurf y bydd yn mynd i galedwedd.
Ac yma mae'r holl ddulliau yn dda (ddim): CLI, NETCONF, RESTCONF, SNMP yn syml.

Felly, bydd angen gyrrwr arnom a fydd yn trosglwyddo canlyniad y cam blaenorol i fformat gofynnol gwerthwr penodol: set o orchmynion CLI, strwythur XML.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Cydran 7. Mecanwaith ar gyfer cyflwyno ffurfweddiad i'r ddyfais

Rydym wedi cynhyrchu'r cyfluniad, ond mae angen ei gyflwyno i'r dyfeisiau o hyd - ac, yn amlwg, nid â llaw.
Yn gyntaf, rydym yn wynebu'r cwestiwn o ba gludiant y byddwn yn ei ddefnyddio? A heddiw nid yw'r dewis yn fach bellach:

  • CLI (telnet, ssh)
  • SNMP
  • NETCONF
  • RESTCONF
  • REST API
  • OpenFlow (er ei fod yn allanolyn oherwydd ei fod yn ffordd o gyflwyno FIB, nid gosodiadau)

Gadewch i ni ddotio'r t yma. Mae CLI yn etifeddiaeth. SNMP... peswch peswch.
Mae RESTCONF yn dal i fod yn anifail anhysbys; ni chefnogir yr API REST gan bron neb. Felly, byddwn yn canolbwyntio ar NETCONF yn y gyfres.

Mewn gwirionedd, fel y mae'r darllenydd eisoes wedi deall, erbyn y pwynt hwn rydym eisoes wedi penderfynu ar y rhyngwyneb - mae canlyniad y cam blaenorol eisoes wedi'i gyflwyno yn fformat y rhyngwyneb a ddewiswyd.

Yn ail, a pha offer y byddwn yn gwneud hyn gyda nhw?
Mae dewis mawr yma hefyd:

  • Sgript neu blatfform hunan-ysgrifenedig. Gadewch i ni arfogi ein hunain gyda ncclient ac asyncIO a gwneud popeth ein hunain. Beth mae'n ei gostio i ni adeiladu system lleoli o'r newydd?
  • Yn addas gyda'i lyfrgell gyfoethog o fodiwlau rhwydweithio.
  • Salt gyda'i waith prin gyda'r rhwydwaith a'i gysylltiad â Napalm.
  • A dweud y gwir Napalm, sy'n adnabod cwpl o werthwyr a dyna ni, hwyl fawr.
  • Mae Nornir yn anifail arall y byddwn yn ei ddyrannu yn y dyfodol.

Yma nid yw'r ffefryn wedi'i ddewis eto - byddwn yn chwilio.

Beth arall sy'n bwysig yma? Canlyniadau cymhwyso'r ffurfweddiad.
Llwyddiannus ai peidio. A oes mynediad at y caledwedd o hyd ai peidio?
Mae'n ymddangos y bydd ymrwymo yn helpu yma gyda chadarnhad a dilysiad o'r hyn a lawrlwythwyd i'r ddyfais.
Mae hyn, ynghyd â gweithredu NETCONF yn gywir, yn cyfyngu'n sylweddol ar yr ystod o ddyfeisiadau addas - nid oes llawer o weithgynhyrchwyr yn cefnogi ymrwymiadau arferol. Ond dim ond un o'r rhagofynion yw hwn RFP. Yn y diwedd, nid oes unrhyw un yn poeni na fydd un gwerthwr o Rwsia yn cydymffurfio ag amod rhyngwyneb 32 * 100GE. Neu a yw'n poeni?

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Cydran 8. CI/CD

Ar y pwynt hwn, mae gennym eisoes y ffurfweddiad yn barod ar gyfer pob dyfais rhwydwaith.
Rwy'n ysgrifennu “am bopeth” oherwydd rydyn ni'n sôn am fersiynu cyflwr y rhwydwaith. A hyd yn oed os oes angen i chi newid gosodiadau un switsh yn unig, cyfrifir newidiadau ar gyfer y rhwydwaith cyfan. Yn amlwg, gallant fod yn sero ar gyfer y rhan fwyaf o nodau.

Ond, fel y dywedwyd eisoes uchod, nid ydym yn rhyw fath o farbariaid sydd am rolio popeth yn syth i gynhyrchu.
Rhaid i'r cyfluniad a gynhyrchir fynd trwy Pipeline CI/CD yn gyntaf.

Ystyr CI/CD yw Integreiddio Parhaus, Defnydd Parhaus. Mae hwn yn ddull lle mae'r tîm nid yn unig yn cyhoeddi datganiad mawr newydd bob chwe mis, gan ddisodli'r hen un yn gyfan gwbl, ond hefyd yn cyflwyno swyddogaeth newydd (Defnyddio) yn raddol mewn dognau bach, pob un ohonynt yn cael ei brofi'n gynhwysfawr am gydnawsedd, diogelwch a perfformiad (Integreiddio).

I wneud hyn, mae gennym system rheoli fersiwn sy'n monitro newidiadau cyfluniad, labordy sy'n gwirio a yw'r gwasanaeth cleient wedi'i dorri, system fonitro sy'n gwirio'r ffaith hon, a'r cam olaf yw cyflwyno newidiadau i'r rhwydwaith cynhyrchu.

Ac eithrio gorchmynion dadfygio, rhaid i bob newid ar y rhwydwaith fynd trwy'r Piblinell CI/CD - dyma ein gwarant o fywyd tawel a gyrfa hir, hapus.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Cydran 9. System wrth gefn a chanfod anomaleddau

Wel, nid oes angen siarad am gopïau wrth gefn eto.
Yn syml, byddwn yn eu rhoi mewn git yn ôl y goron neu ar y ffaith bod cyfluniad yn newid.

Ond mae'r ail ran yn fwy diddorol - dylai rhywun gadw llygad ar y copïau wrth gefn hyn. Ac mewn rhai achosion, mae'n rhaid i rywun fynd a throi popeth o gwmpas fel yr oedd, ac mewn eraill, dweud wrth rywun bod rhywbeth o'i le.
Er enghraifft, os yw defnyddiwr newydd wedi ymddangos nad yw wedi'i gofrestru yn y newidynnau, mae angen i chi ei dynnu i ffwrdd o'r darnia. Ac os yw'n well peidio â chyffwrdd â rheol wal dân newydd, efallai bod rhywun newydd droi dadfygio ymlaen, neu efallai nad oedd y gwasanaeth newydd, byngler, wedi'i gofrestru yn unol â'r rheoliadau, ond mae pobl eisoes wedi ymuno ag ef.

Ni fyddwn yn dianc rhag rhai delta bach ar raddfa'r rhwydwaith cyfan o hyd, er gwaethaf unrhyw systemau awtomeiddio a'r llaw galed o reoli. I ddadfygio problemau, ni fydd neb yn ychwanegu cyfluniad i'r systemau beth bynnag. Ar ben hynny, efallai na fyddant hyd yn oed yn cael eu cynnwys yn y model cyfluniad.

Er enghraifft, mae rheol wal dân ar gyfer cyfrif nifer y pecynnau fesul IP penodol i leoleiddio problem yn gyfluniad dros dro cwbl gyffredin.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Cydran 10. System fonitro

Ar y dechrau, nid oeddwn yn mynd i roi sylw i bwnc monitro - mae'n dal i fod yn bwnc swmpus, dadleuol a chymhleth. Ond wrth i bethau fynd rhagddynt, daeth yn amlwg bod hyn yn rhan annatod o awtomeiddio. Ac mae'n amhosibl ei osgoi, hyd yn oed heb ymarfer.

Mae Evolving Thought yn rhan organig o'r broses CI/CD. Ar ôl cyflwyno'r ffurfweddiad i'r rhwydwaith, mae angen i ni allu penderfynu a yw popeth yn iawn ag ef nawr.
Ac rydym yn siarad nid yn unig ac nid yn gymaint am amserlenni defnydd rhyngwyneb neu argaeledd nodau, ond am bethau mwy cynnil - presenoldeb y llwybrau angenrheidiol, priodoleddau arnynt, nifer y sesiynau BGP, cymdogion OSPF, perfformiad o'r dechrau i'r diwedd. o wasanaethau dros ben.
A wnaeth y syslogs i'r gweinydd allanol stopio adio, neu a wnaeth yr asiant SFlow dorri i lawr, neu a ddechreuodd y diferion yn y ciwiau dyfu, neu a wnaeth y cysylltedd rhwng rhai pâr o rhagddodiaid dorri i lawr?

Byddwn yn myfyrio ar hyn mewn erthygl ar wahân.

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Awtomatiaeth ar gyfer y rhai bach. Rhan sero. Cynllunio

Casgliad

Fel sail, dewisais un o'r dyluniadau rhwydwaith canolfan ddata modern - L3 Clos Fabric gyda BGP fel y protocol llwybro.
Y tro hwn byddwn yn adeiladu'r rhwydwaith ar Juniper, oherwydd nawr mae rhyngwyneb JunOs yn fanlove.

Gadewch i ni wneud ein bywyd yn anoddach trwy ddefnyddio offer Ffynhonnell Agored yn unig a rhwydwaith aml-werthwr - felly yn ogystal â Juniper, byddaf yn dewis un person lwcus arall ar hyd y ffordd.

Mae’r cynllun ar gyfer cyhoeddiadau sydd i ddod yn rhywbeth fel hyn:
Yn gyntaf byddaf yn siarad am rwydweithiau rhithwir. Yn gyntaf oll, oherwydd rwyf eisiau gwneud hynny, ac yn ail, oherwydd heb hyn, ni fydd dyluniad y rhwydwaith seilwaith yn glir iawn.
Yna am ddyluniad y rhwydwaith ei hun: topoleg, llwybro, polisïau.
Gadewch i ni ymgynnull stondin labordy.
Gadewch i ni feddwl am y peth ac efallai ymarfer cychwyn y ddyfais ar y rhwydwaith.
Ac yna am bob cydran yn fanwl gywir.

Ac ydw, nid wyf yn addo terfynu'r cylch hwn yn osgeiddig gyda datrysiad parod. 🙂

Dolenni defnyddiol

  • Cyn ymchwilio i'r gyfres, mae'n werth darllen llyfr Natasha Samoilenko Python ar gyfer Peirianwyr Rhwydwaith. Ac efallai pasio y cwrs.
  • Bydd hefyd yn ddefnyddiol i'w ddarllen RFC am ddyluniad ffatrïoedd canolfannau data o Facebook gan Peter Lapukhov.
  • Bydd y dogfennau pensaernïaeth yn rhoi syniad i chi o sut mae SDN Overlay yn gweithio. Ffabrig Twngsten (Open Contrail gynt).
Diolch

Ceunant Rhufeinig. Am sylwadau a golygiadau.
Artyom Chernobay. Ar gyfer KDPV.

Ffynhonnell: hab.com

Ychwanegu sylw