د Skydive پیرودونکي له لارې په لاسي ډول د Skydive Topology ته د نوډ اضافه کول

Skydive یوه خلاص سرچینه ده، د ریښتیني وخت شبکې ټوپولوژي او پروتوکول تحلیل کونکی. دا موخه داده چې د شبکې زیربنا کې څه پیښیږي د پوهیدو لپاره یوه پراخه لاره چمتو کړي.

ستاسو د علاقې لپاره ، زه به تاسو ته د سکایډیف په اړه یو څو سکرین شاټونه درکړم. لاندې به د Skydive د پیژندنې په اړه یو پوسټ وي.

د Skydive پیرودونکي له لارې په لاسي ډول د Skydive Topology ته د نوډ اضافه کول

د Skydive پیرودونکي له لارې په لاسي ډول د Skydive Topology ته د نوډ اضافه کول

پوسټ "د skydive.net پیژندنه» په هابری کې.

Skydive د Skydive اجنټانو څخه د شبکې پیښو په ترلاسه کولو سره د شبکې ټوپولوژي ښیې. ایا تاسو کله هم فکر کړی چې څنګه د ټوپولوژي ډیاګرام شبکې اجزاو کې اضافه یا ښودل کیږي چې د Skydive اجنټ شبکې څخه بهر دي یا غیر شبکې توکي لکه TOR ، ډیټا ذخیره کول ، او داسې نور. نور د دې په اړه اندیښنه ته اړتیا نشته د نوډ قواعد API څخه مننه.

د 0.20 نسخه راهیسې، Skydive د نوډ قواعد API چمتو کوي چې د نوي نوډونو او څنډو جوړولو او د موجوده نوډونو میټاډاټا تازه کولو لپاره کارول کیدی شي. د نوډ قاعده API په دوه APIs ویشل شوي: د نوډ قاعده API او د څنډې قاعده API. د نوډ اصول API د نوي نوډ رامینځته کولو او د موجوده نوډ میټاډاټا تازه کولو لپاره کارول کیږي. د څنډې قاعدې API د دوه نوډونو ترمینځ د حد رامینځته کولو لپاره کارول کیږي ، د بیلګې په توګه. دوه نوډونه سره نښلوي.

پدې بلاګ کې به موږ د کارونې دوه قضیې وګورو، چې یو یې د شبکې برخه ده چې د اسکایډیو شبکې برخه نه ده. دوهم اختیار د غیر شبکې برخه ده. مخکې له دې، موږ به د Topology قواعد API کارولو لپاره ځینې اساسي لارې وګورو.

د 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 نوډز میټاډاټا تازه کړئ

د موجوده نوډ میټاډاټا تازه کولو لپاره ، تاسو باید د نوډونو غوره کولو لپاره د ګریملین پوښتنه چمتو کړئ په کوم کې چې تاسو غواړئ میټاډاټا تازه کړئ. ستاسو د غوښتنې سره سم، تاسو کولی شئ د یو واحد نوډ قواعد په کارولو سره د یو یا ډیرو نوډونو میټاډاټا تازه کړئ.

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 څنډه جوړول

د څنډې جوړولو لپاره، تاسو باید د سرچینې او منزل نوډونه او د څنډې د لینک ډول مشخص کړئ؛ د ماشوم نوډ رامینځته کولو لپاره، د لینک ډول ارزښت باید ملکیت وي؛ په ورته ډول، د لینک ډول پرت 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 Topology ته د نوډ اضافه کول

د دوهم استعمال قضیه

پدې حالت کې به موږ وګورو چې څنګه د شبکې وسیله اضافه کړو چې د اسکایډیو شبکې برخه نه وي. راځئ چې دا مثال وګورو. موږ دوه اسکایډیو اجنټان لرو چې په دوه مختلف میزبانونو کې روان دي ، د دې دوه کوربه سره وصل کولو لپاره موږ د TOR سویچ ته اړتیا لرو. که څه هم موږ کولی شو دا په ترتیب کولو فایل کې د جوړښت نوډونو او لینکونو په ټاکلو سره ترلاسه کړو، راځئ چې وګورو چې څنګه موږ د Topology Rules API په کارولو سره ورته کار کولی شو.

د TOR سویچ پرته ، دوه اجنټان به د دوه مختلف نوډونو په توګه پرته له کوم لینک څخه څرګند شي ، لکه څنګه چې لاندې عکس کې ښودل شوي.

د Skydive پیرودونکي له لارې په لاسي ډول د Skydive Topology ته د نوډ اضافه کول

اوس د 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 Topology ته د نوډ اضافه کول

اوس د 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 او کوربه 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 سویچ او بندر تر مینځ رامینځته شوي ، په بیله بیا د اجنټانو او بندرونو ترمینځ د layer2 اتحادیې. اوس وروستۍ ټوپولوژي به د لاندې عکس په څیر ښکاري.

د Skydive پیرودونکي له لارې په لاسي ډول د Skydive Topology ته د نوډ اضافه کول

اوس دوه کوربه / اجنټان په سمه توګه وصل شوي او تاسو کولی شئ پیوستون ازموینه وکړئ یا د دوه کوربه توب تر مینځ د لنډې لارې نیول رامینځته کړئ.

پی ایس ته لینک اصلي پوسټ

موږ د هغو خلکو په لټه کې یو چې کولی شي د نورو Skydive ځانګړتیاو په اړه پوسټونه ولیکي.
د ټیلیګرام چیٹ د skydive.net له لارې.

سرچینه: www.habr.com

Add a comment