Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Skydive kode irekiko, denbora errealeko sarearen topologia eta protokolo analizatzailea da. Sare-azpiegitura batean gertatzen dena ulertzeko modu integral bat eskaini nahi du.

Interesgarria izan dadin, Skydive-ri buruzko pantaila-argazki pare bat emango dizkizut. Jarraian, Skydive-ren aurkezpenari buruzko argitalpena egongo da.

Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Argitaratu "Skydive.network-en sarreraΒ» HabrΓ©-n.

Skydive-k sarearen topologia bistaratzen du Skydive-ko ​​agenteen sareko gertaerak jasoz. Inoiz galdetu al zaizu nola gehitu edo bistaratu topologia-diagrama batean Skydive agente-saretik kanpo dauden sareko osagaiak edo sarekoak ez diren objektuak, hala nola TOR, datu biltegiratzea, etab. Ez duzu gehiago kezkatu behar Node arauaren APIari esker.

0.20 bertsioaz geroztik, Skydive-k Node arauen API bat eskaintzen du, nodo eta ertz berriak sortzeko eta lehendik dauden nodoen metadatuak eguneratzeko erabil daitekeena. Node-arauaren APIa bi APItan banatzen da: nodo-arauaren APIa eta edge-arauaren APIa. Node Rule APIa nodo berri bat sortzeko eta lehendik dagoen nodo baten metadatuak eguneratzeko erabiltzen da. Ertz-arauaren APIa bi nodoen arteko muga sortzeko erabiltzen da, hau da. bi nodo lotzen ditu.

Blog honetan bi erabilera-kasu ikusiko ditugu, horietako bat paracautismo sarearen parte ez den sare-osagai bat da. Bigarren aukera sarekoa ez den osagaia da. Horren aurretik, Topology Rules APIa erabiltzeko oinarrizko modu batzuk aztertuko ditugu.

Skydive Nodo bat sortzea

Nodo bat sortzeko, nodo izen esklusibo bat eta baliozko nodo mota bat eman behar dituzu. Aukera gehigarri batzuk ere eman ditzakezu.

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

Eguneratu Skydive Nodes metadatuak

Lehendik dagoen nodo baten metadatuak eguneratzeko, gremlin kontsulta bat eman behar duzu metadatuak eguneratu nahi dituzun nodoak hautatzeko. Zure eskaeraren arabera, nodo baten edo gehiagoren metadatuak egunera ditzakezu nodo bakarreko arau bat erabiliz.

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 bat sortzea

Ertz bat sortzeko, iturburu- eta helmuga-nodoak eta ertzaren esteka-mota zehaztu behar dituzu; nodo seme bat sortzeko, esteka-motaren balioak jabetza izan behar du; era berean, esteka-mota geruza bat sortzeko, esteka-mota-balioa izan behar da. geruza 2. Bi nodoren artean esteka bat baino gehiago sor dezakezu, baina esteka mota ezberdina izan behar da.

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

Lehenengo erabilera kasua

Kasu honetan, sarekoa ez den gailu bat skydive topologian nola erakutsi aztertuko dugu. Demagun metadatu erabilgarri batzuekin paracautismoaren topologia-diagrama batean bistaratu behar den datu biltegi bat dugula.

Gailua topologiara gehitzeko nodo-arau bat sortu besterik ez dugu behar. Sortu komandoaren zati gisa gailuaren metadatuak gehi ditzakegu, edo geroago eguneratze-nodoen arau komando bat edo gehiago sortu.

Exekutatu ostalari-arauaren komando hau topologia-diagramara biltegiratze-gailu bat gehitzeko.

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"

Exekutatu komandoa ertz-arauaren azpian sortutako nodoa ostalari-nodoarekin lotzeko.

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

Goiko komandoen ondoren, orain ikus dezakezu skydive topologia diagraman ikusgai dagoen gailua, emandako metadatuekin beheko irudian erakusten den moduan.

Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Bigarren erabilera kasua

Kasu honetan ikusiko dugu nola gehitzen den paracautismo sarearen parte ez den sareko gailu bat. Ikus dezagun adibide hau. Bi ostalari ezberdinetan exekutatzen ari diren bi paraxutzoko agente ditugu, bi ostalari hauek konektatzeko TOR etengailu bat behar dugu. Nahiz eta hori lor dezakegun egitura-nodoak eta estekak konfigurazio fitxategi batean definituz, ikus dezagun nola egin dezakegun Topology Rules APIa erabiliz.

TOR etengailurik gabe, bi agenteak loturarik gabe bi nodo ezberdin gisa agertuko dira, beheko irudian erakusten den moduan.

Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Orain exekutatu Ostalari-arauak komando hauek TOR etengailua eta atakak sortzeko.

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"

Ikus dezakezun bezala, TOR etengailua eta atakak sortu eta gehitu dira paracautismoaren topologiara, eta topologiak beheko irudiaren itxura izango du orain.

Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Orain exekutatu Edge Rule komando hauek TOR etengailua, 1 ataka eta 1 ostalariaren interfaze publikoaren artean konexio bat sortzeko.

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"

Exekutatu komando hauek TOR switch 2 ataka eta 2 ostalariaren interfaze publikoaren artean esteka bat sortzeko

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"

Jabetza eta geruza 2 elkarteak sortzen dira orain TOR etengailuaren eta atakaren artean, baita agente eta portuen arteko geruza 2 elkarteak ere. Orain azken topologia beheko irudiaren itxura izango du.

Skydive topologiari nodo bat gehitzea eskuz Skydive bezeroaren bidez

Orain bi ostalari/agenteak behar bezala konektatuta daude eta konexioa probatu dezakezu edo bi ostalarien artean bide laburrenaren harrapaketa bat sor dezakezu.

PS esteka jatorrizko mezua

Skydive-ren beste ezaugarri batzuei buruzko argitalpenak idatzi ditzakeen jendea bilatzen ari gara.
Telegram txata skydive.network bidez.

Iturria: www.habr.com

Gehitu iruzkin berria