Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Skydive on avoimen lähdekoodin reaaliaikainen verkkotopologia ja protokolla-analysaattori. Sen tavoitteena on tarjota kattava tapa ymmärtää, mitä verkkoinfrastruktuurissa tapahtuu.

Kiinnostaakseni sinua annan sinulle muutaman kuvakaappauksen Skydivestä. Alla on viesti Skydive-esittelystä.

Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Lähetä "Skyive.networkin esittely» Habrélla.

Skydive näyttää verkon topologian vastaanottamalla verkkotapahtumat Skydive-agenteista. Oletko koskaan miettinyt, kuinka lisätä tai näyttää topologiakaaviossa verkkokomponentteja, jotka ovat Skydive-agenttiverkon ulkopuolella, tai ei-verkkoobjekteja, kuten TOR, tietotallennus jne. Node rule API:n ansiosta siitä ei tarvitse enää huolehtia.

Versiosta 0.20 lähtien Skydive tarjoaa Node rule API:n, jota voidaan käyttää uusien solmujen ja reunojen luomiseen sekä olemassa olevien solmujen metatietojen päivittämiseen. Node rule API on jaettu kahteen sovellusliittymään: node rule API ja reunasäännön API. Node Rule API:a käytetään uuden solmun luomiseen ja olemassa olevan solmun metatietojen päivittämiseen. Reunasäännön API:lla luodaan raja kahden solmun välille, ts. yhdistää kaksi solmua.

Tässä blogissa näemme kaksi käyttötapausta, joista toinen on verkkokomponentti, joka ei kuulu laskuvarjohypyn verkkoon. Toinen vaihtoehto on ei-verkkokomponentti. Sitä ennen tarkastellaan joitain perus tapoja käyttää Topology Rules API:ta.

Skydive-solmun luominen

Solmun luomiseksi sinun on annettava yksilöllinen solmun nimi ja kelvollinen solmutyyppi. Voit myös tarjota joitain lisävaihtoehtoja.

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

Päivitä Skydive Nodesin metatiedot

Jos haluat päivittää olemassa olevan solmun metatiedot, sinun on annettava gremlin-kysely valitaksesi solmut, joiden metatiedot haluat päivittää. Pyynnösi mukaan voit päivittää yhden tai useamman solmun metatiedot käyttämällä yhden solmun sääntöä.

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 Edgen luominen

Reunan luomiseksi sinun on määritettävä lähde- ja kohdesolmut sekä reunan linkkityyppi; lapsisolmun luomiseksi linkin tyypin arvon on oltava omistajuus; samoin linkkityypin layer2 luomiseksi linkin tyypin arvon on oltava kerros 2. Voit luoda useamman kuin yhden linkin kahden solmun välille, mutta linkin tyypin on oltava erilainen.

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

Ensimmäinen käyttötapaus

Tässä tapauksessa tarkastellaan, kuinka verkkoon kuulumaton laite näytetään laskuvarjohypyn topologiassa. Ajatellaanpa, että meillä on tietovarasto, joka on näytettävä laskuvarjohypyn topologiakaaviossa hyödyllisten metatietojen kera.

Meidän on vain luotava solmusääntö laitteen lisäämiseksi topologiaan. Voimme lisätä laitteen metatiedot osana Create-komentoa tai luoda myöhemmin yhden tai useamman päivityssolmun sääntökomennon.

Suorita seuraava isäntäsääntökomento lisätäksesi tallennuslaitteen topologiakaavioon.

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"

Suorita reunasäännön alla oleva komento yhdistääksesi luotu solmu isäntäsolmuun.

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

Yllä olevien komentojen jälkeen voit nyt nähdä laitteen näkyvissä laskuvarjohypyn topologiakaaviossa annetuilla metatiedoilla alla olevan kuvan mukaisesti.

Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Toinen käyttötapaus

Tässä tapauksessa näemme kuinka lisätä verkkolaite, joka ei ole osa laskuvarjohypyn verkkoa. Katsotaanpa tätä esimerkkiä. Meillä on kaksi laskuvarjohypyn agenttia, jotka toimivat kahdella eri isännällä, näiden kahden isäntäkoneen yhdistämiseksi tarvitsemme TOR-kytkimen. Vaikka voimme saavuttaa tämän määrittämällä rakennesolmut ja linkit konfigurointitiedostoon, katsotaanpa, kuinka voimme tehdä saman käyttämällä Topology Rules API:ta.

Ilman TOR-kytkintä nämä kaksi agenttia näkyvät kahtena eri solmuna ilman linkkejä, kuten alla olevassa kuvassa näkyy.

Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Luo nyt TOR-kytkin ja portit suorittamalla seuraavat Host Rules -komennot.

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"

Kuten näet, TOR-kytkin ja portit on luotu ja lisätty laskuvarjohypyn topologiaan, ja topologia näyttää nyt alla olevan kuvan kalta.

Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Suorita nyt seuraavat Edge Rule -komennot luodaksesi yhteyden TOR-kytkimen, portin 1 ja isäntä 1:n julkisen käyttöliittymän välille.

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"

Suorita seuraavat komennot luodaksesi linkin TOR-kytkimen portin 2 ja isäntä 2 julkisen liitännän välille

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"

TOR-kytkimen ja portin välille luodaan nyt omistajuus- ja kerros2-assosiaatiot sekä agenttien ja porttien välille kerros2-yhteydet. Nyt lopullinen topologia näyttää alla olevalta kuvalta.

Solmun lisääminen Skydive-topologiaan manuaalisesti Skydive-asiakkaan kautta

Nyt kaksi isäntää/agenttia on yhdistetty oikein ja voit testata yhteyttä tai luoda lyhimmän polun kaappauksen kahden isännän välille.

PS Linkki alkuperäinen postaus

Etsimme ihmisiä, jotka voisivat kirjoittaa viestejä muista Skydive-ominaisuuksista.
Telegram chat skydive.networkin kautta.

Lähde: will.com

Lisää kommentti