Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

Skydive هڪ کليل ذريعو آهي، حقيقي وقت نيٽ ورڪ ٽوپولوجي ۽ پروٽوڪول تجزيه ڪندڙ. اهو مقصد هڪ جامع طريقو مهيا ڪرڻ آهي اهو سمجهڻ لاءِ ته نيٽ ورڪ انفراسٽرڪچر ۾ ڇا ٿي رهيو آهي.

توھان جي دلچسپي لاءِ، مان توھان کي ڏيندس ڪجھ اسڪرين شاٽ اسڪائي ڊيو بابت. هيٺ Skydive جي تعارف تي هڪ پوسٽ هوندي.

Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

پوسٽ "skydive.network جو تعارف» Habré تي.

Skydive Skydive ايجنٽن کان نيٽ ورڪ واقعا وصول ڪندي نيٽ ورڪ ٽوپولوجي ڏيکاري ٿو. ڇا توهان ڪڏهن سوچيو آهي ته ٽوپولوجي ڊاگرام نيٽ ورڪ اجزاء ۾ ڪيئن شامل يا ڊسپلي ڪجي جيڪي Skydive ايجنٽ نيٽ ورڪ کان ٻاهر آهن يا غير نيٽ ورڪ شيون جهڙوڪ TOR، ڊيٽا اسٽوريج وغيره. ان بابت وڌيڪ پريشان ٿيڻ جي ضرورت ناهي Node rule API جي مهرباني.

ورجن 0.20 کان وٺي، Skydive هڪ نوڊ قاعدو API مهيا ڪري ٿو جيڪو نوان نوڊس ۽ ايجز ٺاهڻ ۽ موجوده نوڊس جي ميٽا ڊيٽا کي اپڊيٽ ڪرڻ لاءِ استعمال ڪري سگهجي ٿو. نوڊ قاعدو API ٻن APIs ۾ ورهايل آهي: نوڊ قاعدو API ۽ ڪنڊ قاعدو API. نوڊ رول API نئين نوڊ ٺاهڻ ۽ موجوده نوڊ جي ميٽا ڊيٽا کي اپڊيٽ ڪرڻ لاءِ استعمال ڪيو ويندو آهي. ايج قاعدو API استعمال ڪيو ويندو آهي ٻن نوڊس جي وچ ۾ حد ٺاهڻ لاءِ، يعني. ٻن نوڊس کي ڳنڍي ٿو.

هن بلاگ ۾ اسان ٻه استعمال جا ڪيس ڏسندا، جن مان هڪ نيٽ ورڪ جو حصو آهي جيڪو اسڪائي ڊيو نيٽ ورڪ جو حصو ناهي. ٻيو اختيار هڪ غير نيٽ ورڪ جزو آهي. ان کان اڳ، اسين ٽوپولاجي ضابطا API استعمال ڪرڻ جا ڪجھ بنيادي طريقا ڏسنداسين.

Skydive Node ٺاهڻ

ھڪڙو نوڊ ٺاھڻ لاء، توھان کي ھڪڙو منفرد نوڊ جو نالو ۽ صحيح نوڊ جو قسم مهيا ڪرڻ گھرجي. توھان پڻ ڪجھ اضافي اختيارات مهيا ڪري سگھو ٿا.

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": ""
}

تازه ڪاري Skydive Nodes Metadata

موجوده نوڊ جي ميٽا ڊيٽا کي اپڊيٽ ڪرڻ لاءِ، توهان کي لازمي طور مهيا ڪرڻ گهرجي هڪ گريمين سوال ان نوڊس کي چونڊڻ لاءِ جنهن تي توهان ميٽا ڊيٽا کي اپڊيٽ ڪرڻ چاهيو ٿا. توهان جي درخواست جي مطابق، توهان هڪ واحد نوڊ قاعدي کي استعمال ڪندي هڪ يا وڌيڪ نوڊس جي ميٽا ڊيٽا کي اپڊيٽ ڪري سگهو ٿا.

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')"
}

Skydive Edge ٺاهڻ

هڪ کنڊ ٺاهڻ لاء، توهان کي لازمي طور تي ماخذ ۽ منزل نوڊس ۽ ڪنڊ جي لنڪ جو قسم بيان ڪرڻ گهرجي؛ هڪ ٻار نوڊ ٺاهڻ لاء، لنڪ جي قسم جي قيمت ملڪيت هجڻ گهرجي؛ ساڳئي طرح، هڪ لنڪ قسم جي پرت 2 ٺاهڻ لاء، لنڪ قسم جي قيمت هجڻ گهرجي. پرت 2. توهان ٻن نوڊس جي وچ ۾ هڪ کان وڌيڪ لنڪ ٺاهي سگهو ٿا، پر لنڪ جو قسم مختلف هجڻ گهرجي.

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"
  }
}

پهريون استعمال ڪيس

انهي حالت ۾، اسان ڏسنداسين ته ڪيئن ڏيکاريو غير نيٽ ورڪ ڊيوائس اسڪائي ڊيو ٽوپولوجي ۾. اچو ته غور ڪريون ته اسان وٽ هڪ ڊيٽا گودام آهي جنهن کي ڪجهه ڪارائتو ميٽا ڊيٽا سان گڏ اسڪائڊائيو ٽوپولوجي ڊراگرام ۾ ڏيکارڻ جي ضرورت آهي.

اسان کي صرف اوزار کي ٽوپولوجي ۾ شامل ڪرڻ لاءِ نوڊ قاعدو ٺاهڻ جي ضرورت آهي. اسان ڊيوائس ميٽا ڊيٽا شامل ڪري سگھون ٿا ٺاھيو ڪمانڊ جي حصي طور، يا بعد ۾ ھڪڙي يا وڌيڪ تازه ڪاري نوڊ قاعدي حڪمن کي ٺاھيو.

ھيٺ ڏنل ھوسٽ قاعدي حڪم کي ھلايو اسٽوريج ڊيوائس شامل ڪرڻ لاءِ ٽوپولوجي ڊراگرام ۾.

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"

ٺاهيل نوڊ کي ميزبان نوڊ سان ڳنڍڻ لاءِ ايج قاعدي جي ھيٺان ڪمانڊ ھلايو.

skydive client edge-rule create --src="G.V().Has('Name', 'node1')" --dst="G.V().Has('Name', 'sda')" --relationtype="ownership"

مٿي ڏنل حڪمن کان پوء، توهان هاڻي ڏسي سگهو ٿا ڊوائيس کي skydive topology ڊراگرام ۾ ڏيکاريل ميٽاداٽا سان ڏيکاريل آهي جيئن هيٺ ڏنل تصوير ۾ ڏيکاريل آهي.

Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

ٻيو استعمال ڪيس

انهي حالت ۾ اسان ڏسنداسين ته ڪيئن نيٽ ورڪ ڊيوائس شامل ڪجي جيڪا اسڪائي ڊيو نيٽ ورڪ جو حصو نه هجي. اچو ته هن مثال کي ڏسو. اسان وٽ ٻه skydive ايجنٽ آھن جيڪي ٻن مختلف ھوسٽن تي ھلندا آھن، انھن ٻن ھوسٽن کي ڳنڍڻ لاءِ اسان کي TOR سوئچ جي ضرورت آھي. جيتوڻيڪ اسان ان کي حاصل ڪري سگھون ٿا ڍانچي جي نوڊس ۽ لنڪس کي ترتيب ڏيڻ واري فائيل ۾، اچو ته ڏسون ته ڪيئن اسان ساڳيو ڪم ڪري سگھون ٿا Topology Rules API استعمال ڪندي.

TOR سوئچ جي بغير، ٻه ايجنٽ بغير ڪنهن لنڪ جي ٻن مختلف نوڊس طور ظاهر ٿيندا، جيئن هيٺ ڏنل تصوير ۾ ڏيکاريل آهي.

Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

ھاڻي ھيٺ ڏنل ھوسٽ قاعدن کي ھلايو TOR سوئچ ۽ بندرگاھون ٺاھيو.

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"

جيئن توهان ڏسي سگهو ٿا، TOR سوئچ ۽ بندرگاهن ٺاهيا ويا آهن ۽ شامل ڪيا ويا آهن skydive Topology ۾، ۽ Topology هاڻي هيٺ ڏنل تصوير وانگر نظر ايندي.

Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

ھاڻي ھيٺ ڏنل ايج قاعدي حڪمن کي ھلايو TOR سوئچ، پورٽ 1 ۽ ھوسٽ 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"

TOR سوئچ پورٽ 2 ۽ ميزبان 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"

ملڪيت ۽ پرت 2 انجمنون ھاڻي ٺاھيون ويون آھن TOR سوئچ ۽ بندرگاھ جي وچ ۾، ۽ گڏوگڏ پرت 2 ايسوسيئيشن ايجنٽن ۽ بندرگاھن جي وچ ۾. ھاڻي فائنل ٽوپولوجي ھيٺ ڏنل تصوير وانگر نظر ايندي.

Skydive ڪلائنٽ ذريعي دستي طور Skydive Topology ۾ نوڊ شامل ڪرڻ

ھاڻي ٻه ھوسٽ/ايجنٽ صحيح طرح سان ڳنڍيا ويا آھن ۽ توھان ڪنيڪشن کي جانچي سگھوٿا يا ٻن ھوسٽن جي وچ ۾ ننڍو رستو ٺاھي سگھو ٿا.

پي ايس لنڪ اصل پوسٽ

اسان انھن ماڻھن کي ڳولي رھيا آھيون جيڪي Skydive جي ٻين خصوصيتن بابت پوسٽون لکي سگھن.
ٽيليگرام چيٽ ذريعي skydive.network.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو