Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Skydive on avatud lähtekoodiga reaalajas võrgu topoloogia ja protokolli analüsaator. Selle eesmärk on pakkuda kõikehõlmavat viisi võrgu infrastruktuuris toimuva mõistmiseks.

Et teid huvitada, annan teile paar ekraanipilti langevarjuhüpete kohta. Allpool on postitus Skydive'i tutvustuse kohta.

Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Postita "Skyive.networki tutvustus» Habré kohta.

Skydive kuvab võrgu topoloogiat, võttes vastu võrgusündmusi Skydive agentidelt. Kas olete kunagi mõelnud, kuidas lisada või kuvada topoloogiaskeemis võrgukomponente, mis asuvad väljaspool Skydive'i agendi võrku, või võrguväliseid objekte, nagu TOR, andmesalvestus jne. Tänu Node rule API-le pole vaja selle pärast enam muretseda.

Alates versioonist 0.20 pakub Skydive Node rule API-t, mida saab kasutada uute sõlmede ja servade loomiseks ning olemasolevate sõlmede metaandmete värskendamiseks. Node rule API on jagatud kaheks API-ks: node rule API ja edge rule API. Node Rule API kasutatakse uue sõlme loomiseks ja olemasoleva sõlme metaandmete värskendamiseks. Servareegli API-t kasutatakse kahe sõlme vahelise piiri loomiseks, s.t. ühendab kaks sõlme.

Selles blogis näeme kahte kasutusjuhtu, millest üks on võrgukomponent, mis ei kuulu langevarjuhüpete võrku. Teine võimalus on võrguväline komponent. Enne seda vaatleme mõningaid topoloogiareeglite API kasutamise põhiviise.

Langevarjuhüppe sõlme loomine

Sõlme loomiseks peate esitama unikaalse sõlme nime ja kehtiva sõlme tüübi. Võite pakkuda ka mõningaid lisavalikuid.

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

Värskendage langevarjuhüppe sõlmede metaandmeid

Olemasoleva sõlme metaandmete värskendamiseks peate esitama gremlini päringu, et valida sõlmed, mille metaandmeid soovite värskendada. Vastavalt oma soovile saate värskendada ühe või mitme sõlme metaandmeid ühe sõlme reegli abil.

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'i loomine

Serva loomiseks tuleb määrata lähte- ja sihtsõlmed ning serva lingi tüüp, alamsõlme loomiseks peab lingitüübi väärtuseks olema omandiõigus, samamoodi lingitüübi kihi2 loomiseks peab lingi tüübi väärtus olema kiht2. Kahe sõlme vahel saate luua rohkem kui ühe lingi, kuid lingi tüüp peab olema erinev.

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

Esimene kasutusjuht

Sel juhul vaatame, kuidas kuvada langevarjuhüppe topoloogias võrguvälist seadet. Arvestame, et meil on andmeladu, mis tuleb kuvada langevarjuhüppe topoloogia diagrammil koos kasulike metaandmetega.

Peame lihtsalt looma sõlme reegli, et lisada seade topoloogiasse. Saame lisada seadme metaandmeid loomise käsu osana või luua hiljem ühe või mitu uuendussõlme reegli käsku.

Käivitage järgmine hostireegli käsk, et lisada topoloogiadiagrammi salvestusseade.

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"

Käivitage servareegli all olev käsk, et seostada loodud sõlm hostisõlmega.

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

Pärast ülaltoodud käske näete nüüd langevarjuhüppe topoloogia diagrammil olevat seadet koos antud metaandmetega, nagu on näidatud alloleval pildil.

Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Teine kasutusjuhtum

Sel juhul näeme, kuidas lisada võrguseadet, mis ei kuulu langevarjuhüpete võrku. Vaatame seda näidet. Meil on kaks langevarjuhüppe agenti, mis töötavad kahel erineval hostil, nende kahe hosti ühendamiseks vajame TOR-lülitit. Kuigi me saame selle saavutada konfiguratsioonifailis struktuurisõlmede ja linkide määratlemisega, vaatame, kuidas saame sama teha Topology Rules API abil.

Ilma TOR-lülitita kuvatakse kaks agenti kahe erineva sõlmena ilma linkideta, nagu on näidatud alloleval pildil.

Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Nüüd käivitage järgmised hostireeglite käsud, et luua TOR-lüliti ja pordid.

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"

Nagu näete, on TOR-lüliti ja pordid loodud ja lisatud langevarjuhüppe topoloogiasse ning topoloogia näeb nüüd välja selline, nagu alloleval pildil.

Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Nüüd käivitage järgmised Edge Rule'i käsud, et luua ühendus TOR-lüliti, pordi 1 ja hosti 1 avaliku liidese vahel.

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"

Käivitage järgmised käsud, et luua link TOR-lüliti pordi 2 ja host 2 avaliku liidese vahel

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"

Nüüd luuakse TOR-lüliti ja pordi vahel omandiõiguse ja kihi 2 seosed, samuti agentide ja portide vahel kihi 2 seosed. Nüüd näeb lõplik topoloogia välja nagu alloleval pildil.

Skydive'i topoloogiasse sõlme lisamine käsitsi Skydive'i kliendi kaudu

Nüüd on kaks hosti/agenti õigesti ühendatud ja saate ühendust testida või luua lühima tee jäädvustamise kahe hosti vahel.

PS Link aadressile algne postitus

Otsime inimesi, kes võiksid kirjutada postitusi muude langevarjuhüppe funktsioonide kohta.
Telegrami vestlus skydive.networki kaudu.

Allikas: www.habr.com

Lisa kommentaar