In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

Skydive is in iepen boarne, real-time netwurktopology en protokolanalysator. It is fan doel in wiidweidige manier te leverjen om te begripen wat der bart yn in netwurkynfrastruktuer.

Om jo te ynteressearjen, sil ik jo in pear skermôfbyldings jaan oer Skydive. Hjirûnder komt der in post oer in ynlieding op Skydive.

In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

Post"Yntroduksje ta skydive.network» op Habré.

Skydive toant de netwurktopology troch netwurkeveneminten te ûntfangen fan Skydive-aginten. Ha jo ea ôffrege hoe te foegjen of werjaan yn in topology diagram netwurk komponinten dy't bûten de Skydive agent netwurk of net-netwurk foarwerpen lykas TOR, gegevens opslach, ensfh Gjin needsaak om te soargen oer dat mear tank oan de Node regel API.

Sûnt ferzje 0.20 biedt Skydive in node-regel API dy't kin wurde brûkt om nije knopen en rânen te meitsjen en de metadata fan besteande knopen te aktualisearjen. De node-regel API is ferdield yn twa API's: de node rule API en de edge rule API. De Node Rule API wurdt brûkt om in nije node te meitsjen en de metadata fan in besteande node te aktualisearjen. De râneregel API wurdt brûkt om in grins te meitsjen tusken twa knopen, d.w.s. ferbynt twa knopen.

Yn dit blog sille wy twa gebrûksgefallen sjen, wêrfan ien in netwurkkomponint is dat gjin diel is fan it skydive-netwurk. De twadde opsje is in net-netwurkkomponint. Dêrfoar sille wy nei guon basiswizen sjen om de Topology Rules API te brûken.

It meitsjen fan in Skydive Node

Om in knooppunt te meitsjen, moatte jo in unike knooppuntnamme en in jildich knooppunttype leverje. Jo kinne ek wat ekstra opsjes leverje.

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

Update Skydive Nodes Metadata

Om de metadata fan in besteande knooppunt te aktualisearjen, moatte jo in gremlin-fraach leverje om de knooppunten te selektearjen wêrop jo de metadata wolle bywurkje. As per jo fersyk kinne jo de metadata fan ien of mear knopen bywurkje mei in ienige knopregel.

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

It meitsjen fan in Skydive Edge

Om in râne te meitsjen, moatte jo de boarne- en bestimmingsknooppunten en it keppelingstype fan 'e râne opjaan; om in berneknooppunt te meitsjen, moat de wearde fan 'e keppelingstype eigendom wêze; op deselde manier, om in keppelingstype layer2 te meitsjen, moat de keppelingstypewearde wêze laach 2. Jo kinne mear as ien keppeling meitsje tusken twa knopen, mar it type keppeling moat oars wêze.

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

Earste gebrûk gefal

Yn dit gefal sille wy sjen nei hoe't jo in net-netwurkapparaat sjen litte yn 'e skydive-topology. Litte wy beskôgje dat wy in datapakhús hawwe dat moat wurde werjûn yn in skydive-topologydiagram mei wat nuttige metadata.

Wy moatte gewoan in knooppuntregel oanmeitsje om it apparaat ta te foegjen oan 'e topology. Wy kinne taheakje apparaat metadata as ûnderdiel fan it meitsjen kommando, of letter meitsje ien of mear update node regel kommando.

Laad it folgjende hostregelkommando om in opslachapparaat ta te foegjen oan it topologydiagram.

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"

Utfiere it kommando ûnder de râneregel om it oanmakke knooppunt te assosjearjen mei it hostknooppunt.

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

Nei de boppesteande kommando's kinne jo no it apparaat sichtber sjen yn it skydive-topologydiagram mei de opjûne metadata lykas werjûn yn 'e ôfbylding hjirûnder.

In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

Twadde gebrûk gefal

Yn dit gefal sille wy sjen hoe't jo in netwurkapparaat tafoegje dat gjin diel is fan it skydive-netwurk. Litte wy nei dit foarbyld sjen. Wy hawwe twa skydive-aginten dy't rinne op twa ferskillende hosts, om dizze twa hosts te ferbinen hawwe wy in TOR-skeakel nedich. Ek al kinne wy ​​​​dit berikke troch struktuerknooppunten en keppelings te definiearjen yn in konfiguraasjetriem, litte wy sjen hoe't wy itselde kinne dwaan mei de Topology Rules API.

Sûnder in TOR-skeakel sille de twa aginten ferskine as twa ferskillende knopen sûnder keppelings, lykas werjûn yn 'e ôfbylding hjirûnder.

In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

Fier no de folgjende Host Rules-kommando's út om de TOR-skeakel en havens te meitsjen.

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"

Sa't jo sjen kinne, binne de TOR-skeakel en havens makke en tafoege oan 'e skydive-topology, en de topology sil no lykje as de ôfbylding hjirûnder.

In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

Fier no de folgjende Edge Rule-kommando's út om in ferbining te meitsjen tusken de TOR-skeakel, poarte 1 en de iepenbiere ynterface fan host 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"

Rinne de folgjende kommando's út om in keppeling te meitsjen tusken TOR-skeakelpoarte 2 en host 2 iepenbiere ynterface

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"

Eigendom en layer2 assosjaasjes wurde no makke tusken de TOR switch en de haven, likegoed as layer2 assosjaasjes tusken aginten en havens. No sil de definitive topology derút sjen as de ôfbylding hjirûnder.

In knooppunt tafoegje oan 'e Skydive-topology mei de hân fia Skydive-kliïnt

No binne de twa hosts / aginten goed ferbûn en kinne jo de ferbining testje of in koartste paadfanging meitsje tusken de twa hosts.

PS Link nei orizjinele post

Wy sykje minsken dy't berjochten kinne skriuwe oer oare Skydive-funksjes.
Telegram petear fia skydive.network.

Boarne: www.habr.com

Add a comment