I-Skydive iwumthombo ovulekile, i-topology yenethiwekhi yesikhathi sangempela kanye ne-protocol analyzer. Ihlose ukuhlinzeka ngendlela ebanzi yokuqonda ukuthi kwenzekani kungqalasizinda yenethiwekhi.
Ukuze ngikuthakasele, ngizokunikeza izithombe-skrini ezimbalwa mayelana ne-Skydive. Ngezansi kuzoba nokuthunyelwe esingenisweni se-Skydive.
Thumela "
I-Skydive ibonisa i-topology yenethiwekhi ngokuthola imicimbi yenethiwekhi kubasebenzeli be-Skydive. Wake wazibuza ukuthi ungangeza kanjani noma uboniswe kanjani ku-topology diagram izingxenye zenethiwekhi ezingaphandle kwenethiwekhi yomenzeli we-Skydive noma izinto okungezona zenethiwekhi ezifana ne-TOR, ukugcinwa kwedatha, njll. Asisekho isidingo sokukhathazeka ngalokho ngenxa ye-Node rule API .
Kusukela kunguqulo engu-0.20, i-Skydive inikeza i-Node rule API engasetshenziswa ukudala ama-node amasha namaphethelo kanye nokubuyekeza imethadatha yamanodi akhona. I-Node rule API ihlukaniswe yaba ama-API amabili: i-node rule API kanye ne-edge rule API. I-Node Rule API isetshenziselwa ukwakha i-node entsha nokuvuselela imethadatha yenodi ekhona. I-edge rule API isetshenziselwa ukudala umngcele phakathi kwamanodi amabili, i.e. ihlanganisa izindawo ezimbili.
Kule bhulogi sizobona izimo ezimbili zokusetshenziswa, enye yazo okuyingxenye yenethiwekhi engeyona ingxenye yenethiwekhi ye-skydive. Inketho yesibili ingxenye engeyona yenethiwekhi. Ngaphambi kwalokho, sizobheka izindlela eziyisisekelo zokusebenzisa i-Topology Rules API.
Ukudala i-Skydive Node
Ukuze udale i-node, kufanele unikeze igama le-node eliyingqayizivele kanye nohlobo lwe-node evumelekile. Ungakwazi futhi ukunikeza ezinye izinketho ezengeziwe.
skydive client node-rule create --action="create" --node-name="node1" --node-type="fabric" --name="node rule1"
{
"UUID": "ea21c30f-cfaa-4f2d-693d-95159acb71ed",
"Name": "node rule1",
"Description": "",
"Metadata": {
"Name": "node1",
"Type": "fabric"
},
"Action": "create",
"Query": ""
}
Buyekeza i-Skydive Nodes Metadata
Ukuze ubuyekeze imethadatha yenodi ekhona, kufanele unikeze umbuzo we-gremlin ukuze ukhethe amanodi ofuna ukubuyekeza imethadatha kuwo. Njengokwesicelo sakho, ungabuyekeza imethadatha yenodi eyodwa noma ngaphezulu usebenzisa umthetho wenodi eyodwa.
skydive client node-rule create --action="update" --name="update rule" --query="G.V().Has('Name', 'node1')" --metadata="key1=val1, key2=val2"
{
"UUID": "3e6c0e15-a863-4583-6345-715053ac47ce",
"Name": "update rule",
"Description": "",
"Metadata": {
"key1": "val1",
"key2": "val2"
},
"Action": "update",
"Query": "G.V().Has('Name', 'node1')"
}
Ukudala i-Skydive Edge
Ukuze udale unqenqema, kufanele ucacise umthombo nendawo okuyiwa kuyo kanye nohlobo lwesixhumanisi sonqenqema; ukuze wakhe inodi yengane, inani lohlobo lwesixhumanisi kufanele kube ubunikazi; ngokufanayo, ukuze udale uhlobo lwesixhumanisi ungqimba2, inani lohlobo lwesixhumanisi kufanele libe ubunikazi. ungqimba2. Ungakha isixhumanisi esingaphezu kwesisodwa phakathi kwamanodi amabili, kodwa uhlobo lwesixhumanisi kufanele lwehluke.
skydive client edge-rule create --name="edge" --src="G.v().has('TID', '2f6f9b99-82ef-5507-76b6-cbab28bda9cb')" --dst="G.V().Has('TID', 'd6ec6e2f-362e-51e5-4bb5-6ade37c2ca5c')" --relationtype="both"
{
"UUID": "50fec124-c6d0-40c7-42a3-2ed8d5fbd410",
"Name": "edge",
"Description": "",
"Src": "G.v().has('TID', '2f6f9b99-82ef-5507-76b6-cbab28bda9cb')",
"Dst": "G.V().Has('TID', 'd6ec6e2f-362e-51e5-4bb5-6ade37c2ca5c')",
"Metadata": {
"RelationType": "both"
}
}
Okokuqala ukusetshenziswa
Kulesi simo, sizobheka ukuthi singabonisa kanjani idivayisi engeyona inethiwekhi ku-skydive topology. Ake sicabangele ukuthi sinenqolobane yedatha edinga ukuboniswa kumdwebo we-skydive topology onemethadatha ethile ewusizo.
Sidinga nje ukwakha umthetho we-node ukwengeza idivayisi ku-topology. Singangeza imethadatha yedivayisi njengengxenye yomyalo wokudala, noma kamuva sidale umyalo owodwa noma eminingi yokubuyekeza inodi yokubuyekeza.
Qalisa umyalo olandelayo wokusingatha ukuze wengeze idivayisi yokugcina kumdwebo we-topology.
skydive client node-rule create --action="create" --node-name="sda" --node-type="persistentvolume" --metadata="DEVNAME=/dev/sda,DEVTYPE=disk,ID.MODEL=SD_MMC, ID.MODEL ID=0316, ID.PATH TAG=pci-0000_00_14_0-usb-0_3_1_0-scsi-0_0_0_0, ID.SERIAL SHORT=20120501030900000, ID.VENDOR=Generic-, ID.VENDOR ID=0bda, MAJOR=8, MINOR=0, SUBSYSTEM=block, USEC_INITIALIZED=104393719727"
Qalisa umyalo ngezansi komthetho wonqenqema ukuze uhlobanise inodi edaliwe nenodi yokusingatha.
skydive client edge-rule create --src="G.V().Has('Name', 'node1')" --dst="G.V().Has('Name', 'sda')" --relationtype="ownership"
Ngemva kwemiyalo engenhla, usungakwazi manje ukubona idivayisi ebonakala kumdwebo we-skydive topology onemethadatha enikeziwe njengoba kukhonjisiwe esithombeni esingezansi.
Icala lokusebenzisa okwesibili
Kulokhu sizobona indlela yokwengeza idivayisi yenethiwekhi engeyona ingxenye yenethiwekhi ye-skydive. Ake sibheke lesi sibonelo. Sinama-ejenti amabili we-skydive asebenza kubasingathi ababili abahlukene, ukuxhuma laba basokhaya ababili sidinga ukushintshwa kwe-TOR. Noma singakwazi ukufeza lokhu ngokuchaza amanodi esakhiwo nezixhumanisi kufayela lokumisa, ake sibone ukuthi singakwenza kanjani okufanayo sisebenzisa i-Topology Rules API.
Ngaphandle kokushintsha kwe-TOR, ama-ejenti amabili azovela njengamanodi amabili ahlukene ngaphandle kwanoma yiziphi izixhumanisi, njengoba kukhonjisiwe esithombeni esingezansi.
Manje sebenzisa imiyalo elandelayo ye-Host Rules ukuze udale ukushintshwa kwe-TOR namachweba.
skydive client node-rule create --node-name="TOR" --node-type="fabric" --action="create"
skydive client node-rule create --node-name="port1" --node-type="port" --action="create"
skydive client node-rule create --node-name="port2" --node-type="port" --action="create"
Njengoba ubona, ukushintshwa kwe-TOR namachweba kudaliwe futhi kwengezwe ku-skydive topology, futhi i-topology manje izobukeka njengesithombe esingezansi.
Manje sebenzisa imiyalo elandelayo ye-Edge Rule ukuze udale uxhumano phakathi kwe-TOR switch, i-port 1 kanye nokuxhumana komphakathi komsingathi 1.
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port1')" --relationtype="ownership"
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port1')" --relationtype="layer2"
skydive client edge-rule create --src="G.V().Has('TID', '372c254d-bac9-50c2-4ca9-86dcc6ce8a57')" --dst="G.V().Has('Name', 'port1')" --relationtype="layer2"
Qalisa imiyalo elandelayo ukuze udale isixhumanisi phakathi kwe-TOR shintsha imbobo 2 kanye nesixhumi esibonakalayo somphakathi esingu-2
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port2')" --relationtype="layer2"
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port2')" --relationtype="ownership"
skydive client edge-rule create --src="G.V().Has('TID', '50037073-7862-5234-4996-e58cc067c69c')" --dst="G.V().Has('Name', 'port2')" --relationtype="layer2"
Ubunikazi nokuhlotshaniswa kwe- layer2 manje sekudaliwe phakathi kweswishi ye-TOR kanye nechweba, kanye nokuhlotshaniswa kwe- layer2 phakathi kwama-ejenti nezimbobo. Manje i-topology yokugcina izobukeka njengesithombe esingezansi.
Manje ababungazi ababili/ama-ejenti axhunywe ngendlela efanele futhi ungakwazi ukuhlola uxhumano noma udale indlela emfushane yokuthwebula phakathi kwabasingathi ababili.
PS Xhumanisa ku
Sifuna abantu abangabhala okuthunyelwe mayelana nezinye izici ze-Skydive.
Source: www.habr.com