Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Skydive is 'n oopbron, intydse netwerktopologie en protokolanaliseerder. Dit het ten doel om 'n omvattende manier te bied om te verstaan ​​wat in 'n netwerkinfrastruktuur gebeur.

Om jou te interesseer, sal ek jou 'n paar skermkiekies oor Skydive gee. Hieronder sal daar 'n plasing wees oor 'n inleiding tot Skydive.

Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Post "Inleiding tot valskermspring.netwerk» op Habré.

Skydive vertoon die netwerktopologie deur netwerkgebeurtenisse van Skydive-agente te ontvang. Het jy al ooit gewonder hoe om netwerkkomponente wat buite die Skydive-agentnetwerk of nie-netwerkvoorwerpe soos TOR, databerging, ens. is, by te voeg of in 'n topologiediagram te vertoon. Jy hoef nie meer daaroor bekommerd te wees nie, danksy die Node-reël API.

Sedert weergawe 0.20 bied Skydive 'n Node-reël API wat gebruik kan word om nuwe nodusse en rande te skep en om die metadata van bestaande nodusse op te dateer. Die Node reël API is verdeel in twee API's: die node reël API en die rand reël API. Die Node Rule API word gebruik om 'n nuwe nodus te skep en die metadata van 'n bestaande nodus op te dateer. Die randreël API word gebruik om 'n grens tussen twee nodusse te skep, d.w.s. verbind twee nodusse.

In hierdie blog sal ons twee gebruiksgevalle sien, waarvan een 'n netwerkkomponent is wat nie deel is van die valskermspringnetwerk nie. Die tweede opsie is 'n nie-netwerkkomponent. Voor dit, sal ons kyk na 'n paar basiese maniere om die Topologie Reëls API te gebruik.

Skep 'n Skydive Node

Om 'n nodus te skep, moet u 'n unieke nodusnaam en 'n geldige nodustipe verskaf. U kan ook 'n paar bykomende opsies verskaf.

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

Dateer Skydive Nodes Metadata op

Om die metadata van 'n bestaande nodus op te dateer, moet u 'n gremlin-navraag verskaf om die nodusse te kies waarop u die metadata wil opdateer. Soos per u versoek, kan u die metadata van een of meer nodusse opdateer deur 'n enkele nodusreël te gebruik.

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

Skep 'n Skydive Edge

Om 'n rand te skep, moet jy die bron- en bestemmingsnodes en die skakeltipe van die rand spesifiseer; om 'n kindernodus te skep, moet die skakeltipe-waarde eienaarskap wees; net so, om 'n skakeltipe laag2 te skep, moet die skakeltipe-waarde wees laag 2. Jy kan meer as een skakel tussen twee nodusse skep, maar die tipe skakel moet anders wees.

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

Eerste gebruik geval

In hierdie geval sal ons kyk hoe om 'n nie-netwerktoestel in die valskerm-topologie te wys. Kom ons oorweeg dat ons 'n datapakhuis het wat in 'n valskermspring-topologiediagram met 'n paar nuttige metadata vertoon moet word.

Ons moet net 'n nodusreël skep om die toestel by die topologie te voeg. Ons kan toestelmetadata byvoeg as deel van die skepopdrag, of later een of meer opdateringsnodusreëlopdragte skep.

Voer die volgende gasheerreëlopdrag uit om 'n stoortoestel by die topologiediagram te voeg.

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"

Voer die opdrag onder die randreël uit om die geskepte nodus met die gasheernodus te assosieer.

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

Na die bogenoemde opdragte, kan jy nou die toestel sigbaar sien in die valskermspring-topologiediagram met die gegewe metadata soos in die prent hieronder getoon.

Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Tweede gebruiksgeval

In hierdie geval sal ons sien hoe om 'n netwerktoestel by te voeg wat nie deel van die valskermspringnetwerk is nie. Kom ons kyk na hierdie voorbeeld. Ons het twee valskermspring-agente wat op twee verskillende gashere loop, om hierdie twee gashere te verbind, benodig ons 'n TOR-skakelaar. Selfs al kan ons dit bereik deur struktuurnodusse en skakels in 'n konfigurasielêer te definieer, kom ons kyk hoe ons dieselfde kan doen met behulp van die Topology Rules API.

Sonder 'n TOR-skakelaar sal die twee agente as twee verskillende nodusse verskyn sonder enige skakels, soos in die prent hieronder.

Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Voer nou die volgende gasheerreëls-opdragte uit om die TOR-skakelaar en poorte te skep.

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"

Soos u kan sien, is die TOR-skakelaar en poorte geskep en by die valskerm-topologie gevoeg, en die topologie sal nou soos die prent hieronder lyk.

Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Voer nou die volgende Edge Rule-opdragte uit om 'n verbinding te skep tussen die TOR-skakelaar, poort 1 en die publieke koppelvlak van gasheer 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"

Voer die volgende opdragte uit om 'n skakel tussen TOR-skakelaarpoort 2 en gasheer 2 publieke koppelvlak te skep

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"

Eienaarskap en laag2-assosiasies word nou tussen die TOR-skakelaar en die poort geskep, sowel as laag2-assosiasies tussen agente en hawens. Nou sal die finale topologie soos die prent hieronder lyk.

Voeg 'n nodus by die Skydive-topologie handmatig via Skydive-kliënt

Nou is die twee gashere/agente korrek verbind en jy kan die verbinding toets of 'n kortste pad vaslegging tussen die twee gashere skep.

PS Skakel na oorspronklike pos

Ons is op soek na mense wat plasings oor ander Skydive-kenmerke kan skryf.
Telegram-klets via skydive.network.

Bron: will.com

Voeg 'n opmerking