ProHoster > Blog > Rianachd > Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab
Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab
San artaigil seo, seallaidh mi dhut mar a nì thu rèiteachadh Solas an latha fosgailte a bhith ag obair le uidheamachd lìonra, agus cuideachd a 'sealltainn mar a chleachdas tu Fear a ’phuist agus sìmplidh RESTCONF iarrtasan, faodar smachd a chumail air an uidheamachd seo. Cha bhith sinn ag obair le bathar-cruaidh, ach an àite sin cleachdaidh sinn deuchainn-lannan beaga brìgheil le aon router a’ cleachdadh Vrnetlab thairis air a 'mhullach Ubuntu 20.04 LTS.
Seallaidh mi na roghainnean mionaideach an-toiseach a’ cleachdadh an eisimpleir de router Juniper vMX 20.1R1.11, agus an uairsin bidh sinn ga choimeas ris an t-suidheachadh Cisco xRV9000 7.0.2.
Clàr-innse
Eòlas riatanach
Pàirt de 1: bruidhinn gu h-aithghearr OpenDaylight (an-seo ODL), Fear a ’phuist и Vrnetlab agus carson a tha feum againn orra
Pàirt de 2: tuairisgeul air an obair-lann brìgheil
Pàirt de 3: gnàthachadh Solas an latha fosgailte
Pàirt de 4: gnàthachadh Vrnetlab
Pàirt de 5: le bhith cleachdadh Fear a ’phuist ceangail router brìgheil (Juniper vMX) Gu ODL
Pàirt de 6: faigh agus atharraich rèiteachadh an router a’ cleachdadh Fear a ’phuist и ODL
Pàirt de 7: cuir Cisco xRV9000 ris
co-dhùnadh
PS
Leabhar-chlàr
Eòlas riatanach
Gus nach tionndaidh an artaigil gu duilleag, dh’ fhàg mi mion-fhiosrachadh teicnigeach (le ceanglaichean gu litreachas far an leugh thu mun deidhinn).
A thaobh seo, tha mi a’ tabhann cuspairean dhut air am biodh e math (ach cha mhòr nach eil sin riatanach) fios a bhith agad mus leugh thu:
Àrd-ùrlar fosgailte SDN airson a bhith a’ riaghladh agus a’ dèanamh fèin-ghluasad air gach seòrsa lìonra, le taic bho Linux Foundation
Java a-staigh
Stèidhichte air Ìre Tarraing Seirbheis air a stiùireadh le Modail (MD-SAL)
A’ cleachdadh mhodalan YANG gus APIan RESTCONF a ghineadh gu fèin-ghluasadach airson innealan lìonra
Am prìomh mhodal airson riaghladh lìonra. Is ann troimhe a nì sinn conaltradh le innealan ceangailte. Air a riaghladh tron API aige fhèin.
Faodaidh tu barrachd a leughadh mu OpenDaylight an seo.
Inneal deuchainn API
Eadar-aghaidh sìmplidh agus furasta a chleachdadh
Anns a’ chùis againn, tha ùidh againn ann mar dhòigh air iarrtasan REST a chuir chun OpenDaylight API. Faodaidh tu, gu dearbh, iarrtasan a chuir a-steach le làimh, ach ann am Postman tha a h-uile dad a’ coimhead gu math soilleir agus a ’freagairt air na h-adhbharan againn gu foirfe.
Dhaibhsan a tha airson cladhach: chaidh tòrr stuthan trèanaidh a sgrìobhadh air (mar eisimpleir).
Inneal airson routers brìgheil a chuir a-steach ann an Docker
A’ toirt taic do: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, msaa.
Stòr Fosgailte
Inneal fìor inntinneach ach air nach eil mòran eòlach air. Anns a’ chùis againn, cleachdaidh sinn e gus Juniper vMX agus Cisco xRV9000 a ruith air Ubuntu 20.04 LTS cunbhalach.
San oideachadh seo, cuiridh sinn air dòigh an siostam a leanas:
Ciamar a tha an obair seo
Juniper vMX ag èirigh a-steach Docker container (tro mheadhan Vrnetlab) agus ag obair mar an router brìgheil as cumanta.
ODL ceangailte ris an router agus leigidh e leat smachd a chumail air.
Fear a ’phuist air a chuir air bhog air inneal air leth agus troimhe bidh sinn a’ cur òrdughan ODL: gus an router a cheangal / a thoirt air falbh, an rèiteachadh atharrachadh, msaa.
Iomradh air uidheam an t-siostam
Juniper vMX и ODL feumach air tòrr ghoireasan airson an obrachadh seasmhach. Aon a-mhàin vMX ag iarraidh 6 Gb de RAM agus 4 cores. Mar sin, chaidh co-dhùnadh na "cuideaman trom" gu lèir a ghluasad gu inneal air leth (Iomairt Heulett Packard MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Chan eil an router, gu dearbh, “ag itealaich” air, ach tha an coileanadh gu leòr airson deuchainnean beaga.
Pàirt 3: Stèidhich OpenDaylight
Is e Magnesium SR1 an dreach làithreach de ODL aig àm an sgrìobhaidh seo
1) Stàladh Java fosgailte JDK 11 (airson stàladh nas mionaidiche an seo)
ubuntu:~$ sudo apt install default-jdk
2) Lorg agus luchdaich sìos an togalach as ùire ODLbho seo
3) Unzip an tasglann a chaidh a luchdachadh sìos
4) Rach don eòlaire a thàinig às
5) Cur air bhog ./bin/karaf
Aig a' cheum seo ODL bu chòir tòiseachadh agus lorgaidh sinn sinn fhìn sa chonsól (tha Port 8181 air a chleachdadh airson faighinn a-steach bhon taobh a-muigh, a chleachdas sinn nas fhaide air adhart).
An ath rud, stàlaich Feartan ODLair a dhealbhadh gus obrachadh le protocols NETCONF и RESTCONF. Gus seo a dhèanamh anns a 'chonsail ODL tha sinn a' cur an gnìomh:
A h-uile router a tha a 'faighinn taic Vrnetlab, tha modh rèiteachaidh sònraichte aige fhèin. Cuin Juniper vMX chan fheum sinn ach an tasglann .tgz a luchdachadh suas leis an router (faodaidh tu a luchdachadh sìos bho Ceanglaichean làraich) chun eòlaire vmx agus ruith an àithne make:
ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # Копируем в эту директорию .tgz архив с роутером
ubuntu:~$ sudo make
A 'togail ìomhaigh vMX bheir e timcheall air 10-20 mionaid. Tha an t-àm ann falbh airson cofaidh!
Carson cho fada, tha thu a’ faighneachd?
Eadar-theangachadh freagairt ùghdar na ceiste seo:
“Tha seo air sgàth gur e a’ chiad uair a thèid an VCP (Plana Smachd) a thòiseachadh, leugh e faidhle config a cho-dhùineas am bi e a ’ruith mar VRR VCP ann an vMX. chaidh ath-thòiseachadh an-còmhnaidh aon uair mus robh an router brìgheil ri fhaighinn, a’ leantainn gu ùine bròg fada (timcheall air 5 mionaidean) A-nis tha a’ chiad ruith den VCP air a dhèanamh nuair a thathar a’ togail ìomhaigh an Docker, agus leis nach urrainn togail an Docker a ruith leis an - -privileged roghainn, tha seo a’ ciallachadh gu bheil qemu ag obair às aonais luathachadh bathar-cruaidh KVM agus mar sin bidh an togail a’ toirt ùine mhòr. chan eil e cho eagallach oir bidh sinn a’ cruthachadh ìomhaigh aon uair, ach bidh sinn a ’cur air bhog mòran.”
Às deidh dhut ìomhaigh an router againn fhaicinn a-staigh Docker:
ubuntu:~$ sudo docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
vrnetlab/vr-vmx 20.1R1.11 b1b2369b453c 3 weeks ago 4.43GB
debian stretch 614bb74b620e 7 weeks ago 101MB
Cuir air bhog vr-vmx container
Bidh sinn a 'tòiseachadh leis an òrdugh:
ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c
An ath rud, chì sinn fiosrachadh mu shoithichean gnìomhach:
ubuntu:~$ sudo docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
120f882c8712 b1b2369b453c "/launch.py" 2 minutes ago Up 2 minutes (unhealthy) 22/tcp, 830/tcp, 5000/tcp, 10000-10099/tcp, 161/udp jun01
A 'ceangal ris an router
Gheibhear seòladh IP eadar-aghaidh lìonra an router leis an àithne a leanas:
Default, Vrnetlab a 'cruthachadh neach-cleachdaidh air an router vrnetlab/VR-netlab9.
A 'ceangal ri ssh:
ubuntu:~$ ssh [email protected]
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ECDSA key fingerprint is SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
Password:
--- JUNOS 20.1R1.11 Kernel 64-bit JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Model: vmx
Junos: 20.1R1.11
Cuiridh seo crìoch air suidheachadh an router.
Gheibhear molaidhean stàlaidh airson routers de dhiofar luchd-reic aig pròiseact github anns na clàran fa leth.
Pàirt 5: Postman - ceangail an router gu OpenDaylight
Stàladh postman
Gus a stàladh, dìreach luchdaich sìos an tagradh bho seo.
A’ ceangal router ri ODL
Cruthaichidh sinn Cuiribh iarrtas:
Sreath ceiste:
PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin. Tha seo riatanach gus faighinn chun ODL:
Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
Gabh ris an tagradh / xml
Iarrtas seòrsa susbaint / xml
Tha ar n-iarrtas air a dhèanamh. Bidh sinn a 'cur. Ma chaidh a h-uile càil a rèiteachadh mar bu chòir, bu chòir dhuinn an inbhe "201 Created" a thilleadh:
Dè nì an t-iarrtas seo?
Bidh sinn a 'cruthachadh nód a-staigh ODL le crìochan an fhìor router a tha sinn airson faighinn a-steach.
Tha iad sin nan ainmean-àite a-staigh XML (Àite-ainm XML) airson ODL a rèir a bheil e a’ cruthachadh nod.
Nas fhaide, fa leth, is e ainm an router nód-id, seòladh an router - slòigh agus mar sin air adhart.
Is e an loidhne as inntinniche an tè mu dheireadh. Sgeama-cache-directory a’ cruthachadh eòlaire far an tèid a h-uile faidhle a luchdachadh sìos YANG Sgeama router ceangailte. Gheibh thu iad a-staigh $ODL_ROOT/cache/jun01_cache.
A’ sgrùdadh ceangal an router
Cruthaichidh sinn GET iarrtas:
Sreath ceiste:
GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Bidh sinn a 'cur. Bu chòir a bhith a 'faighinn inbhe "200 OK" agus liosta de na h-uile a' faighinn taic bhon inneal YANG Sgeama:
beachd: Gus an tè mu dheireadh fhaicinn, na mo chùis bha e riatanach feitheamh timcheall air 10 mionaidean às deidh a chuir gu bàs Cuiribhgus a h-uile YANG sgeama luchdachadh suas air ODL. Suas chun na h-ìre seo, nuair a bhios tu a 'coileanadh seo GET seallaidh ceist na leanas:
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Pàirt 6: Atharraich rèiteachadh an router
A 'faighinn an rèiteachaidh
Cruthaichidh sinn GET iarrtas:
Sreath ceiste:
GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Bidh sinn a 'cur. Bu chòir don inbhe “200 OK” fhaighinn agus rèiteachadh an router:
Cruthaich rèiteachadh
Mar eisimpleir, cruthaichidh sinn an rèiteachadh a leanas agus atharraichidh sinn e:
protocols {
bgp {
disable;
shutdown;
}
}
Cruthaichidh sinn DÈIDH iarrtas:
Sreath ceiste:
POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
Gabh ris an tagradh / xml
Iarrtas seòrsa susbaint / xml
Às deidh an cur, bu chòir dhaibh an inbhe "204 Gun Susbaint" fhaighinn
Gus dèanamh cinnteach gu bheil an rèiteachadh air atharrachadh, faodaidh tu a’ cheist roimhe a chleachdadh. Ach mar eisimpleir, cruthaichidh sinn fear eile a sheallas fiosrachadh a-mhàin mu na protocolaidhean a tha air an rèiteachadh air an router.
Cruthaichidh sinn GET iarrtas:
Sreath ceiste:
GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Às deidh dhuinn an t-iarrtas a choileanadh, chì sinn na leanas:
Atharraich an rèiteachadh
Nach atharraich sinn am fiosrachadh mu phròtacal BGP. Às deidh ar gnìomhan, seallaidh e mar seo:
protocols {
bgp {
disable;
}
}
Cruthaichidh sinn Cuiribh iarrtas:
Sreath ceiste:
PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
Na dìochuimhnich na bannan-cinn air an taba Headers atharrachadh gu:
Gabh ris an iarrtas / json
Iarrtas seòrsa susbaint / json
Às deidh a chuir, gheibh sinn an toradh a leanas (Bheir sinn sùil air an fhreagairt a’ cleachdadh GET iarrtas):
Pàirt 7: A 'cur ris an Cisco xRV9000
Dè tha sinn uile mu dheidhinn Juniper, tha Juniper? Bruidhnidh sinn mu Cisco!
Lorg mi xRV9000 dreach 7.0.2 (biast a dh’ fheumas 8Gb RAM agus 4 cores. Chan eil e ri fhaighinn gu saor, mar sin cuir fios gu Cisco) — ruitheamaid e.
A 'ruith container
Cha mhòr nach eil am pròiseas airson inneal Docker a chruthachadh eadar-dhealaichte bho Juniper. San aon dòigh, leigidh sinn am faidhle .qcow2 leis an router a-steach don eòlaire a fhreagras air an ainm (sa chùis seo, xrv9k) agus cuir an gnìomh an àithne make docker-image.
An ceann beagan mhionaidean, chì sinn gu bheil an ìomhaigh air a chruthachadh:
ubuntu:~$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
vrnetlab/vr-xrv9k 7.0.2 54debc7973fc 4 hours ago 1.7GB
vrnetlab/vr-vmx 20.1R1.11 b1b2369b453c 4 weeks ago 4.43GB
debian stretch 614bb74b620e 7 weeks ago 101MB
Bidh sinn a 'tòiseachadh air a' bhogsa:
ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc
An ceann greiseag, tha sinn a 'coimhead gu bheil an soitheach air tòiseachadh:
ubuntu:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
058c5ecddae3 54debc7973fc "/launch.py" 4 hours ago Up 4 hours (healthy) 22/tcp, 830/tcp, 5000-5003/tcp, 10000-10099/tcp, 161/udp xrv01
Dèan ceangal tro ssh:
ubuntu@ubuntu:~$ ssh [email protected]
Password:
RP/0/RP0/CPU0:ios#show version
Mon Jul 6 12:19:28.036 UTC
Cisco IOS XR Software, Version 7.0.2
Copyright (c) 2013-2020 by Cisco Systems, Inc.
Build Information:
Built By : ahoang
Built On : Fri Mar 13 22:27:54 PDT 2020
Built Host : iox-ucs-029
Workspace : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
Version : 7.0.2
Location : /opt/cisco/XR/packages/
Label : 7.0.2
cisco IOS-XRv 9000 () processor
System uptime is 3 hours 22 minutes
A’ ceangal an router ri OpenDaylight
Bidh cur-ris a’ tachairt ann an dòigh gu tur coltach ri vMX. Feumaidh sinn dìreach na h-ainmean atharrachadh. Cuiribh iarrtas:
Call às deidh beagan ùine GET ceist gus dèanamh cinnteach gu bheil a h-uile càil ceangailte:
Atharraich an rèiteachadh
Feuch an cuir sinn an rèiteachadh a leanas air dòigh:
!
router ospf LAB
mpls ldp auto-config
!
Cruthaichidh sinn DÈIDH iarrtas:
Sreath ceiste:
POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
Gabh ris an iarrtas / json
Iarrtas seòrsa susbaint / json
Às deidh a chuir gu bàs, bu chòir dhaibh an inbhe "204 No Content" fhaighinn.
Feuch an dèan sinn sgrùdadh air na fhuair sinn.
Gus seo a dhèanamh, cruthaichidh sinn GET iarrtas:
Sreath ceiste:
GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
Às deidh a chuir gu bàs, bu chòir dhut na leanas fhaicinn:
Gus an cleachdadh rèiteachaidh a thoirt air falbh Aithrisean-:
Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
co-dhùnadh
Gu h-iomlan, mar is dòcha gu bheil thu air mothachadh, chan eil na modhan airson Cisco agus Juniper a cheangal ri OpenDaylight eadar-dhealaichte - tha seo a ’fosgladh cothrom farsaing airson cruthachalachd. A’ tòiseachadh bho riaghladh rèiteachaidh air a h-uile pàirt lìonra agus a’ crìochnachadh le cruthachadh do phoileasaidhean lìonraidh fhèin.
San oideachadh seo, tha mi air na h-eisimpleirean as sìmplidh a thoirt seachad air mar as urrainn dhut eadar-obrachadh le uidheamachd lìonraidh a’ cleachdadh OpenDaylight. Gun teagamh, faodar na ceistean bho na h-eisimpleirean gu h-àrd a dhèanamh tòrr nas iom-fhillte agus seirbheisean slàn a stèidheachadh le aon bhriogadh air an luchag - tha a h-uile dad cuingealaichte a-mhàin le do mhac-meanmna *
Ri leantainn ...
PS
Ma tha thu gu h-obann eòlach air a h-uile càil seo mu thràth no, air an làimh eile, air a dhol troimhe agus air a dhol fodha ann an anam ODL, tha mi a ’moladh a bhith a’ coimhead ri bhith a ’leasachadh thagraidhean air rianadair ODL. Faodaidh tu tòiseachadh bho seo.