Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Skydive як манбаи кушода, топологияи шабака ва таҳлилгари протокол дар вақти воқеӣ мебошад. Ҳадафи он пешниҳоди роҳи ҳамаҷонибаи фаҳмидани он аст, ки дар инфрасохтори шабака чӣ рӯй медиҳад.

Барои таваҷҷӯҳи шумо, ман ба шумо якчанд скриншотҳоро дар бораи Skydive медиҳам. Дар зер мақолае дар бораи муқаддима ба Skydive хоҳад буд.

Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Интишори "Муқаддима ба skydive.network» дар бораи Хабре.

Skydive топологияи шабакаро тавассути гирифтани рӯйдодҳои шабакавӣ аз агентҳои Skydive нишон медиҳад. Оё шумо ягон бор дар ҳайрат шудаед, ки чӣ гуна ҷузъҳои шабакаро дар диаграммаи топология илова кардан ё намоиш додан мумкин аст, ки берун аз шабакаи агенти Skydive ё объектҳои ғайришабакавӣ ба монанди TOR, нигаҳдории маълумот ва ғайра мебошанд. Ба шарофати API ҳукмронии Node дигар дар ин бора хавотир шудан лозим нест.

Аз версияи 0.20, Skydive API-и қоидаи гиреҳро пешниҳод мекунад, ки метавонад барои эҷоди гиреҳҳо ва кунҷҳои нав ва навсозии метамаълумоти гиреҳҳои мавҷуда истифода шавад. API-и қоидаи гиреҳ ба ду API тақсим мешавад: API қоидаи гиреҳ ва API қоидаи канор. API Rule Node барои сохтани гиреҳи нав ва навсозии метамаълумоти гиреҳи мавҷуда истифода мешавад. API-и қоидаи канорӣ барои эҷоди сарҳад байни ду гиреҳ истифода мешавад, яъне. ду гирехро мепайвандад.

Дар ин блог мо ду ҳолати истифодаро мебинем, ки яке аз онҳо ҷузъи шабакавӣ аст, ки ҷузъи шабакаи парашютӣ нест. Варианти дуюм ҷузъи ғайришабакавӣ мебошад. Пеш аз он, мо баъзе роҳҳои асосии истифодаи API Rules Topology-ро дида мебароем.

Эҷоди гиреҳи Skydive

Барои сохтани гиреҳ, шумо бояд номи гиреҳ ва навъи дурусти гиреҳро пешниҳод кунед. Шумо инчунин метавонед якчанд имконоти иловагӣ пешниҳод кунед.

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

Метамаълумоти гиреҳҳои Skydive навсозӣ кунед

Барои навсозии метамаълумоти гиреҳи мавҷуда, шумо бояд дархости gremlin пешниҳод кунед, то гиреҳҳоеро интихоб кунед, ки дар онҳо метадата навсозӣ кардан мехоҳед. Тибқи дархости шумо, шумо метавонед метамаълумоти як ё якчанд гиреҳро бо истифода аз як қоидаи гиреҳ навсозӣ кунед.

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

Барои сохтани канор, шумо бояд гиреҳҳои манбаъ ва таъинот ва навъи пайванди канорро муайян кунед; барои сохтани гиреҳи кӯдак, арзиши навъи пайванд бояд моликият бошад; ба ҳамин монанд, барои сохтани қабати навъи истинод2, арзиши навъи пайванд бояд бошад қабати 2. Шумо метавонед зиёда аз як пайвандро байни ду гиреҳ эҷод кунед, аммо намуди пайванд бояд гуногун бошад.

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

Ҳолати истифодаи аввал

Дар ин ҳолат, мо дида мебароем, ки чӣ гуна дастгоҳи ғайришабакавӣ дар топологияи парашютӣ нишон дода мешавад. Биёед дида бароем, ки мо анбори додаҳо дорем, ки бояд дар диаграммаи топологияи парашют бо баъзе метадотаҳои муфид нишон дода шавад.

Мо танҳо бояд қоидаи гиреҳ эҷод кунем, то дастгоҳро ба топология илова кунем. Мо метавонем метамаълумоти дастгоҳро ҳамчун як қисми фармони эҷод илова кунем ё дертар як ё якчанд фармонҳои қоидаҳои гиреҳи навсозӣ эҷод кунем.

Фармони зерини қоидаи мизбонро иҷро кунед, то ба диаграммаи топология дастгоҳи нигаҳдорӣ илова кунед.

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"

Фармонро дар зери қоидаи канор иҷро кунед, то гиреҳи сохташударо бо гиреҳи ҳост пайваст кунед.

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

Пас аз фармонҳои дар боло зикршуда, шумо ҳоло метавонед дастгоҳро дар диаграммаи топологияи парашют бо метамаълумоти додашуда, ки дар тасвири зер нишон дода шудааст, бубинед.

Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Ҳолати дуюми истифода

Дар ин ҳолат, мо мебинем, ки чӣ тавр ба илова кардани дастгоҳи шабакавӣ, ки қисми шабакаи парашют нест. Биёед ин мисолро дида бароем. Мо ду агенти парашютӣ дорем, ки дар ду ҳости гуногун кор мекунанд, барои пайваст кардани ин ду ҳост ба мо гузариши TOR лозим аст. Гарчанде ки мо метавонем ба ин тавассути муайян кардани гиреҳҳои сохторӣ ва истинодҳо дар файли конфигуратсия ноил шавем, биёед бубинем, ки чӣ тавр мо метавонем бо истифода аз API Rules Topology.

Бидуни гузариши TOR, ду агент ҳамчун ду гиреҳи гуногун бидуни ягон истинод пайдо мешаванд, тавре ки дар тасвири зер нишон дода шудааст.

Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Акнун фармонҳои зерини Қоидаҳои Хостро иҷро кунед, то гузариши TOR ва портҳоро эҷод кунед.

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"

Тавре ки шумо мебинед, коммутаторҳои TOR ва портҳо сохта шудаанд ва ба топологияи парашютӣ илова карда шудаанд ва топология акнун ба тасвири дар поён овардашуда монанд хоҳад буд.

Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Акнун фармонҳои зерини Edge Rule -ро иҷро кунед, то байни коммутатори TOR, бандари 1 ва интерфейси оммавии ҳост 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"

Фармонҳои зеринро иҷро кунед, то дар байни порти коммутатори TOR 2 ва интерфейси оммавии host 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"

Ҳоло моликият ва ассотсиатсияҳои қабати2 байни коммутатори TOR ва порт, инчунин ассотсиатсияҳои қабати2 байни агентҳо ва портҳо сохта шудаанд. Акнун топологияи ниҳоӣ ба тасвири дар поён овардашуда монанд хоҳад буд.

Илова кардани гиреҳ ба топологияи Skydive ба таври дастӣ тавассути муштарии Skydive

Ҳоло ду ҳост/агент дуруст пайваст шудаанд ва шумо метавонед пайвастшавиро санҷед ё дар байни ду ҳост кӯтоҳтарин сабти роҳро эҷод кунед.

PS Истинод ба пости аслӣ

Мо одамонеро меҷӯем, ки метавонанд дар бораи дигар хусусиятҳои Skydive паём нависанд.
Чати телеграмм тавассути skydive.network.

Манбаъ: will.com

Илова Эзоҳ