Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

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.

Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

Thumela "Isingeniso ku-skydive.network»kuHabre.

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.

Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

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.

Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

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.

Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

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.

Ukwengeza i-node ku-topology ye-Skydive ngokwenza ngeklayenti le-Skydive

Manje ababungazi ababili/ama-ejenti axhunywe ngendlela efanele futhi ungakwazi ukuhlola uxhumano noma udale indlela emfushane yokuthwebula phakathi kwabasingathi ababili.

PS Xhumanisa ku okuthunyelwe kwangempela

Sifuna abantu abangabhala okuthunyelwe mayelana nezinye izici ze-Skydive.
Ingxoxo yocingo nge-skydive.network.

Source: www.habr.com

Engeza amazwana