Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Skydive jẹ orisun ṣiṣi, topology nẹtiwọọki akoko gidi ati olutupalẹ ilana. O ni ero lati pese ọna okeerẹ lati loye ohun ti n ṣẹlẹ ni awọn amayederun nẹtiwọki kan.

Lati nifẹ rẹ, Emi yoo fun ọ ni awọn sikirinisoti meji kan nipa Skydive. Ni isalẹ ifiweranṣẹ yoo wa lori ifihan si Skydive.

Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Firanṣẹ"Ifihan si skydive.network»lori Habré.

Skydive ṣe afihan topology nẹtiwọọki nipa gbigba awọn iṣẹlẹ nẹtiwọọki lati ọdọ awọn aṣoju Skydive. Njẹ o ti ṣe iyalẹnu bi o ṣe le ṣafikun tabi ṣafihan ni awọn paati nẹtiwọọki aworan atọka topology ti o wa ni ita nẹtiwọọki aṣoju Skydive tabi awọn nkan ti kii ṣe nẹtiwọọki bii TOR, ibi ipamọ data, bbl Ko si ye lati ṣe aniyan nipa iyẹn mọ ọpẹ si Ilana Node API.

Lati ẹya 0.20, Skydive n pese API ofin Node ti o le ṣee lo lati ṣẹda awọn apa ati awọn egbegbe tuntun ati lati ṣe imudojuiwọn metadata ti awọn apa ti o wa tẹlẹ. API Ofin Node ti pin si awọn API meji: Ilana ipade API ati API ofin eti. Ofin Node API ni a lo lati ṣẹda ipade titun kan ati ki o ṣe imudojuiwọn metadata ti ipade to wa tẹlẹ. Ofin eti API ni a lo lati ṣẹda aala laarin awọn apa meji, i.e. so meji apa.

Ninu bulọọgi yii a yoo rii awọn ọran lilo meji, ọkan ninu eyiti o jẹ paati nẹtiwọọki ti kii ṣe apakan ti nẹtiwọọki skydive. Aṣayan keji jẹ paati ti kii ṣe nẹtiwọki. Ṣaaju pe, a yoo wo diẹ ninu awọn ọna ipilẹ lati lo Awọn Ofin Topology API.

Ṣiṣẹda Skydive Node

Lati ṣẹda ipade kan, o gbọdọ pese orukọ apa ọtọ kan ati iru oju ipade to wulo. O tun le pese diẹ ninu awọn aṣayan afikun.

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

Ṣe imudojuiwọn Awọn Metadata Awọn Nodes Skydive

Lati ṣe imudojuiwọn metadata ti ipade ti o wa tẹlẹ, o gbọdọ pese ibeere gremlin lati yan awọn apa lori eyiti o fẹ ṣe imudojuiwọn metadata naa. Gẹgẹbi ibeere rẹ, o le ṣe imudojuiwọn metadata ti ọkan tabi diẹ ẹ sii awọn apa nipa lilo ofin ipade kan.

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

Ṣiṣẹda Skydive Edge

Lati ṣẹda eti kan, o gbọdọ pato awọn orisun ati awọn apa ibi ati ọna asopọ iru eti; lati ṣẹda ipade ọmọ, iye iru ọna asopọ gbọdọ jẹ ohun-ini; bakanna, lati ṣẹda ọna asopọ iru Layer2, iye iru ọna asopọ gbọdọ jẹ Layer2. O le ṣẹda ọna asopọ diẹ sii ju ọkan lọ laarin awọn apa meji, ṣugbọn iru ọna asopọ gbọdọ yatọ.

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

Ọrọ lilo akọkọ

Ni idi eyi, a yoo wo bi o ṣe le ṣe afihan ẹrọ ti kii ṣe nẹtiwọki ni topology skydive. Jẹ ki a ro pe a ni ile-ipamọ data kan ti o nilo lati ṣafihan ni aworan atọka topology ọrun pẹlu diẹ ninu awọn metadata to wulo.

A kan nilo lati ṣẹda ofin ipade kan lati ṣafikun ẹrọ naa si topology. A le ṣafikun metadata ẹrọ gẹgẹbi apakan ti aṣẹ ṣiṣẹda, tabi nigbamii ṣẹda ọkan tabi diẹ sii awọn ofin imudojuiwọn imudojuiwọn.

Ṣiṣe aṣẹ ofin ogun atẹle lati ṣafikun ẹrọ ibi ipamọ si aworan atọka 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"

Ṣiṣe aṣẹ ni isalẹ ofin eti lati ṣepọ ipade ti a ṣẹda pẹlu ipade ogun.

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

Lẹhin awọn aṣẹ ti o wa loke, o le rii ẹrọ ti o han ninu aworan atọka topology skydive pẹlu metadata ti a fun bi a ṣe han ninu aworan ni isalẹ.

Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Ọran lilo keji

Ni ọran yii a yoo rii bii o ṣe le ṣafikun ẹrọ nẹtiwọọki kan ti kii ṣe apakan ti nẹtiwọọki skydive. Jẹ ki a wo apẹẹrẹ yii. A ni awọn aṣoju skydive meji ti n ṣiṣẹ lori awọn ogun oriṣiriṣi meji, lati sopọ awọn ọmọ-ogun meji wọnyi a nilo iyipada TOR kan. Paapaa botilẹjẹpe a le ṣaṣeyọri eyi nipa asọye awọn apa ọna ati awọn ọna asopọ ni faili iṣeto ni, jẹ ki a wo bii a ṣe le ṣe kanna ni lilo Awọn Ofin Topology API.

Laisi iyipada TOR, awọn aṣoju meji yoo han bi awọn apa oriṣiriṣi meji laisi eyikeyi awọn ọna asopọ, bi o ṣe han ninu aworan ni isalẹ.

Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Bayi ṣiṣe awọn aṣẹ Awọn ofin Gbalejo wọnyi lati ṣẹda iyipada TOR ati awọn ebute oko oju omi.

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"

Bi o ṣe le rii, iyipada TOR ati awọn ebute oko oju omi ti ṣẹda ati ṣafikun si topology ọrun, ati topology yoo dabi aworan ni isalẹ.

Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Bayi ṣiṣe awọn aṣẹ Ofin Edge atẹle lati ṣẹda asopọ laarin yipada TOR, ibudo 1 ati wiwo gbogbo eniyan ti ogun 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"

Ṣiṣe awọn aṣẹ wọnyi lati ṣẹda ọna asopọ laarin TOR yipada ibudo 2 ati gbalejo 2 ni wiwo gbogbo eniyan

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"

Ohun-ini ati awọn ẹgbẹ Layer2 ni a ṣẹda laarin iyipada TOR ati ibudo, bakanna bi awọn ẹgbẹ Layer2 laarin awọn aṣoju ati awọn ebute oko oju omi. Bayi topology ikẹhin yoo dabi aworan ni isalẹ.

Ṣafikun ipade kan si Skydive topology pẹlu ọwọ nipasẹ alabara Skydive

Bayi awọn ọmọ-ogun/oluranlọwọ meji ti sopọ ni ọna ti o tọ ati pe o le ṣe idanwo asopọ tabi ṣẹda gbigba ọna ti o kuru ju laarin awọn ọmọ-ogun meji.

PS Ọna asopọ si atilẹba post

A n wa eniyan ti o le kọ awọn ifiweranṣẹ nipa awọn ẹya Skydive miiran.
Iwiregbe Telegram nipasẹ skydive.network.

orisun: www.habr.com

Fi ọrọìwòye kun