Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

A Skydive egy nyílt forráskódú, valós idejű hálózati topológia és protokollelemző. Célja, hogy átfogó módon megértse, mi történik a hálózati infrastruktúrában.

Hogy érdekeljen, adok néhány képernyőképet az Skydive-ről. Az alábbiakban egy bejegyzés található az Skydive bemutatásáról.

Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

bejegyzés "A skydive.network bemutatása» Habrén.

A Skydive megjeleníti a hálózati topológiát azáltal, hogy hálózati eseményeket fogad a Skydive ügynököktől. Gondolkozott már azon, hogyan adhat hozzá vagy jeleníthet meg egy topológiai diagramban a Skydive ügynök hálózatán kívül eső hálózati összetevőket vagy nem hálózati objektumokat, például TOR-t, adattárolót stb. A csomópontszabály API-nak köszönhetően már nem kell aggódnia emiatt.

A 0.20-as verzió óta a Skydive egy csomópontszabály API-t biztosít, amely új csomópontok és élek létrehozására, valamint a meglévő csomópontok metaadatainak frissítésére használható. A csomópontszabály API két API-ra oszlik: a csomópontszabály API-ra és az élszabály API-ra. A Node Rule API új csomópont létrehozására és egy meglévő csomópont metaadatainak frissítésére szolgál. Az élszabály API-t arra használjuk, hogy határt hozzunk létre két csomópont között, pl. két csomópontot köt össze.

Ebben a blogban két használati esetet fogunk látni, amelyek közül az egyik egy olyan hálózati komponens, amely nem része az ejtőernyős hálózatnak. A második lehetőség egy nem hálózati összetevő. Előtte megnézünk néhány alapvető módot a Topology Rules API használatára.

Ejtőernyős csomópont létrehozása

Csomópont létrehozásához meg kell adnia egy egyedi csomópontnevet és egy érvényes csomóponttípust. Néhány további lehetőséget is megadhat.

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

Frissítse az ejtőernyős csomópontok metaadatait

Egy meglévő csomópont metaadatainak frissítéséhez gremlin-lekérdezést kell adnia, hogy kiválassza azokat a csomópontokat, amelyeken frissíteni szeretné a metaadatokat. Kérésének megfelelően frissítheti egy vagy több csomópont metaadatait egyetlen csomópont szabályával.

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 létrehozása

Él létrehozásához meg kell adni a forrás- és célcsomópontot, valamint az él hivatkozási típusát; gyermekcsomópont létrehozásához a hivatkozástípus értékének tulajdonjognak kell lennie; hasonlóképpen a réteg2 hivatkozástípus létrehozásához a hivatkozástípus értékének réteg2. Két csomópont között több hivatkozást is létrehozhat, de a hivatkozás típusának eltérőnek kell lennie.

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

Első használati eset

Ebben az esetben megvizsgáljuk, hogyan lehet megjeleníteni egy nem hálózati eszközt az ejtőernyős topológiában. Vegyük figyelembe, hogy van egy adattárházunk, amelyet egy ejtőernyős ugrás topológiai diagramban kell megjeleníteni néhány hasznos metaadattal.

Csak létre kell hoznunk egy csomóponti szabályt, hogy hozzáadjuk az eszközt a topológiához. Hozzáadhatunk eszköz metaadatokat a Create parancs részeként, vagy később létrehozhatunk egy vagy több frissítési csomópont szabályparancsot.

Futtassa a következő hosztszabály parancsot egy tárolóeszköz hozzáadásához a topológiai diagramhoz.

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"

Futtassa az élszabály alatti parancsot a létrehozott csomópont és a gazdagép csomópont társításához.

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

A fenti parancsok után most már látható az eszköz az ejtőernyős topológia diagramon a megadott metaadatokkal az alábbi képen látható módon.

Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

Második használati eset

Ebben az esetben látni fogjuk, hogyan adjunk hozzá olyan hálózati eszközt, amely nem része az ejtőernyős hálózatnak. Nézzük ezt a példát. Két ejtőernyős ügynökünk fut két különböző gazdagépen, a két gazdagép összekapcsolásához TOR kapcsolóra van szükségünk. Bár ezt úgy érhetjük el, hogy egy konfigurációs fájlban definiálunk szerkezeti csomópontokat és hivatkozásokat, nézzük meg, hogyan tehetjük meg ugyanezt a Topology Rules API használatával.

TOR kapcsoló nélkül a két ügynök két különböző csomópontként jelenik meg, hivatkozások nélkül, amint az az alábbi képen látható.

Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

Most futtassa a következő Host Rules parancsokat a TOR kapcsoló és a portok létrehozásához.

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"

Amint láthatja, a TOR kapcsolót és portokat létrehozták és hozzáadták az ejtőernyős topológiához, és a topológia most úgy fog kinézni, mint az alábbi képen.

Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

Most futtassa a következő Edge Rule parancsokat, hogy kapcsolatot hozzon létre a TOR kapcsoló, az 1-es port és az 1-es gazdagép nyilvános interfésze között.

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"

Futtassa a következő parancsokat a TOR kapcsoló 2. portja és a 2. gazdagép nyilvános interfész közötti kapcsolat létrehozásához

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"

A TOR-kapcsoló és a port között tulajdonosi és réteg2-társítások, valamint az ügynökök és a portok között réteg2-társítások jönnek létre. Most a végső topológia az alábbi képhez hasonlóan fog kinézni.

Csomópont hozzáadása a Skydive topológiához manuálisan a Skydive kliensen keresztül

Most a két gazdagép/ügynök megfelelően csatlakozik, és tesztelheti a kapcsolatot, vagy létrehozhatja a legrövidebb út rögzítését a két gazdagép között.

PS Link a eredeti poszt

Olyan embereket keresünk, akik más ejtőernyőzési funkciókról is tudnak bejegyzéseket írni.
Telegram chat a skydive.network segítségével.

Forrás: will.com

Hozzászólás