Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Skydive është një topologji rrjeti me burim të hapur, në kohë reale dhe analizues protokolli. Ai synon të sigurojë një mënyrë gjithëpërfshirëse për të kuptuar se çfarë po ndodh në një infrastrukturë rrjeti.

Për t'ju interesuar, unë do t'ju jap disa pamje nga ekrani rreth Skydive. Më poshtë do të ketë një postim për një hyrje në Skydive.

Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Posto "Hyrje në skydive.network» në Habré.

Skydive shfaq topologjinë e rrjetit duke marrë ngjarje të rrjetit nga agjentët e Skydive. A keni menduar ndonjëherë se si të shtoni ose shfaqni në një diagram topologjik komponentë rrjeti që janë jashtë rrjetit të agjentëve Skydive ose objekte jo-rrjetore si TOR, ruajtja e të dhënave, etj. Nuk ka nevojë të shqetësoheni më për këtë falë API-së së rregullit Node.

Që nga versioni 0.20, Skydive ofron një API të rregullave të nyjeve që mund të përdoret për të krijuar nyje dhe skaje të reja dhe për të përditësuar metadatat e nyjeve ekzistuese. API i rregullit të nyjeve ndahet në dy API: API i rregullit të nyjeve dhe API i rregullit të skajit. Node Rule API përdoret për të krijuar një nyje të re dhe për të përditësuar meta të dhënat e një nyje ekzistuese. API i rregullit të skajit përdoret për të krijuar një kufi midis dy nyjeve, d.m.th. lidh dy nyje.

Në këtë blog do të shohim dy raste përdorimi, njëra prej të cilave është një komponent rrjeti që nuk është pjesë e rrjetit të skydive. Opsioni i dytë është një komponent jo-rrjetor. Para kësaj, ne do të shikojmë disa mënyra themelore për të përdorur API-në e Rregullave të Topologjisë.

Krijimi i një nyje me parashutë

Për të krijuar një nyje, duhet të jepni një emër unik nyje dhe një lloj nyje të vlefshme. Ju gjithashtu mund të ofroni disa opsione shtesë.

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ërditëso të dhënat meta të nyjeve të Skydive

Për të përditësuar meta të dhënat e një nyje ekzistuese, duhet të jepni një pyetje gremlin për të zgjedhur nyjet në të cilat dëshironi të përditësoni metadatat. Sipas kërkesës suaj, ju mund të përditësoni meta të dhënat e një ose më shumë nyjeve duke përdorur një rregull të vetëm nyje.

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

Krijimi i një Skydive Edge

Për të krijuar një skaj, duhet të specifikoni nyjet e burimit dhe të destinacionit dhe llojin e lidhjes së skajit; për të krijuar një nyje fëmijë, vlera e llojit të lidhjes duhet të jetë pronësi; në mënyrë të ngjashme, për të krijuar një shtresë të llojit lidhjeje2, vlera e llojit të lidhjes duhet të jetë shtresa 2. Mund të krijoni më shumë se një lidhje midis dy nyjeve, por lloji i lidhjes duhet të jetë i ndryshëm.

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

Rasti i përdorimit të parë

Në këtë rast, ne do të shikojmë se si të tregojmë një pajisje jo-rrjetore në topologjinë skydive. Le të konsiderojmë se ne kemi një depo të dhënash që duhet të shfaqet në një diagram topologjie skydive me disa meta të dhëna të dobishme.

Thjesht duhet të krijojmë një rregull nyje për të shtuar pajisjen në topologji. Mund të shtojmë meta të dhënat e pajisjes si pjesë e komandës krijimi, ose më vonë të krijojmë një ose më shumë komanda të rregullave të nyjeve të përditësimit.

Ekzekutoni komandën e mëposhtme të rregullave të hostit për të shtuar një pajisje ruajtëse në diagramin e topologjisë.

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"

Ekzekutoni komandën poshtë rregullit të skajit për të lidhur nyjen e krijuar me nyjen pritës.

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

Pas komandave të mësipërme, tani mund ta shihni pajisjen e dukshme në diagramin e topologjisë së skydive me meta të dhënat e dhëna siç tregohet në imazhin më poshtë.

Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Rasti i dytë i përdorimit

Në këtë rast do të shohim se si të shtojmë një pajisje rrjeti që nuk është pjesë e rrjetit skydive. Le të shohim këtë shembull. Ne kemi dy agjentë skydive që funksionojnë në dy host të ndryshëm, për të lidhur këto dy hoste na duhet një ndërprerës TOR. Edhe pse mund ta arrijmë këtë duke përcaktuar nyjet e strukturës dhe lidhjet në një skedar konfigurimi, le të shohim se si mund të bëjmë të njëjtën gjë duke përdorur API-në e Rregullave të Topologjisë.

Pa një ndërprerës TOR, të dy agjentët do të shfaqen si dy nyje të ndryshme pa asnjë lidhje, siç tregohet në imazhin më poshtë.

Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Tani ekzekutoni komandat e mëposhtme të Rregullave të Host për të krijuar ndërprerësin TOR dhe portat.

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"

Siç mund ta shihni, çelësi TOR dhe portat janë krijuar dhe shtuar në topologjinë skydive, dhe topologjia tani do të duket si imazhi më poshtë.

Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Tani ekzekutoni komandat e mëposhtme të Rregullës së skajit për të krijuar një lidhje midis çelësit TOR, portit 1 dhe ndërfaqes publike të hostit 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"

Ekzekutoni komandat e mëposhtme për të krijuar një lidhje midis portës 2 të ndërprerës TOR dhe ndërfaqes publike të hostit 2

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"

Asociacionet e pronësisë dhe të shtresës 2 tani krijohen midis ndërruesit TOR dhe portit, si dhe shoqatat e shtresës 2 midis agjentëve dhe porteve. Tani topologjia përfundimtare do të duket si imazhi më poshtë.

Shtimi i një nyje në topologjinë Skydive me dorë nëpërmjet klientit Skydive

Tani dy hostet/agjentët janë lidhur saktë dhe ju mund të testoni lidhjen ose të krijoni një kapje të rrugës më të shkurtër midis dy hosteve.

PS Lidhja me postim origjinal

Ne po kërkojmë njerëz që mund të shkruajnë postime për veçori të tjera të Skydive.
Biseda në telegram nëpërmjet skydive.network.

Burimi: www.habr.com

Shto një koment