Skydive සේවාලාභියා හරහා අතින් Skydive Topology වෙත node එකක් එකතු කිරීම

Skydive යනු විවෘත මූලාශ්‍ර, තත්‍ය කාලීන ජාල ස්ථල විද්‍යාව සහ ප්‍රොටෝකෝල විශ්ලේෂකය වේ. ජාල යටිතල ව්‍යුහයක් තුළ සිදුවන්නේ කුමක්ද යන්න තේරුම් ගැනීමට පුළුල් ක්‍රමයක් සැපයීම එහි අරමුණයි.

ඔබ උනන්දු වීමට, මම ඔබට Skydive පිළිබඳ තිරපිටපත් කිහිපයක් දෙන්නම්. පහතින් Skydive පිළිබඳ හැඳින්වීමක් පිළිබඳ පෝස්ට් එකක් වනු ඇත.

Skydive සේවාලාභියා හරහා අතින් Skydive Topology වෙත node එකක් එකතු කිරීම

Skydive සේවාලාභියා හරහා අතින් Skydive Topology වෙත node එකක් එකතු කිරීම

තැපැල් "skydive.network වෙත හැඳින්වීම» හබ්රේ මත.

Skydive නියෝජිතයන්ගෙන් ජාල සිදුවීම් ලබා ගැනීමෙන් Skydive ජාල ස්ථලකය පෙන්වයි. Skydive නියෝජිත ජාලයෙන් පිටත හෝ TOR, දත්ත ආචයනය වැනි ජාල නොවන වස්තු ස්ථල විද්‍යාත්මක රූප සටහනක ජාල සංරචක එකතු කරන්නේ කෙසේද හෝ ප්‍රදර්ශනය කරන්නේ කෙසේදැයි ඔබ කවදා හෝ කල්පනා කර තිබේද. Node rule API ට ස්තුති වන්නට ඒ ගැන තවදුරටත් කරදර විය යුතු නැත.

අනුවාදය 0.20 සිට, Skydive නව නෝඩ් සහ දාර සෑදීමට සහ පවතින නෝඩ් වල පාර-දත්ත යාවත්කාලීන කිරීමට භාවිතා කළ හැකි Node rule API සපයයි. Node rule API API දෙකට බෙදී ඇත: node rule API සහ edge rule API. Node Rule API නව නෝඩයක් සෑදීමට සහ පවතින නෝඩයක පාර-දත්ත යාවත්කාලීන කිරීමට භාවිතා කරයි. දාර රීතිය API නෝඩ් දෙකක් අතර මායිමක් නිර්මාණය කිරීමට භාවිතා කරයි, i.e. නෝඩ් දෙකක් සම්බන්ධ කරයි.

මෙම බ්ලොග් අඩවියේ අපට භාවිත අවස්ථා දෙකක් පෙනෙනු ඇත, ඉන් එකක් skydive ජාලයේ කොටසක් නොවන ජාල සංරචකයකි. දෙවන විකල්පය ජාල නොවන සංරචකයකි. ඊට පෙර, අපි Topology Rules API භාවිතා කිරීමට මූලික ක්‍රම කිහිපයක් බලමු.

Skydive Node එකක් නිර්මාණය කිරීම

නෝඩයක් සෑදීමට, ඔබ අද්විතීය නෝඩ් නමක් සහ වලංගු නෝඩ් වර්ගයක් සැපයිය යුතුය. ඔබට අමතර විකල්ප කිහිපයක් ද ලබා දිය හැකිය.

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 Nodes Metadata යාවත්කාලීන කරන්න

පවතින නෝඩයක පාර-දත්ත යාවත්කාලීන කිරීමට, ඔබට පාර-දත්ත යාවත්කාලීන කිරීමට අවශ්‍ය නෝඩ් තේරීමට ග්‍රෙම්ලින් විමසුමක් සැපයිය යුතුය. ඔබගේ ඉල්ලීමට අනුව, ඔබට තනි නෝඩ් රීතියක් භාවිතයෙන් නෝඩ් එකක හෝ වැඩි ගණනක පාර-දත්ත යාවත්කාලීන කළ හැක.

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 topology තුළ ජාල නොවන උපාංගයක් පෙන්වන්නේ කෙසේදැයි බලමු. යම් ප්‍රයෝජනවත් පාර-දත්ත සහිත ස්කයිඩයිව් ස්ථල විද්‍යා රූප සටහනක ප්‍රදර්ශනය කිරීමට අවශ්‍ය දත්ත ගබඩාවක් අප සතුව ඇති බව සලකමු.

උපාංගය ස්ථාන විද්‍යාවට එක් කිරීමට අපට නෝඩ් රීතියක් සෑදිය යුතුය. අපට create විධානයේ කොටසක් ලෙස උපාංග පාරදත්ත එක් කළ හැක, නැතහොත් පසුව update node rule විධාන එකක් හෝ කිහිපයක් සෑදිය හැක.

ස්ථලක රූප සටහනට ගබඩා උපාංගයක් එක් කිරීමට පහත සත්කාරක රීති විධානය ක්‍රියාත්මක කරන්න.

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 වෙත node එකක් එකතු කිරීම

දෙවන භාවිත නඩුව

මේකෙදි අපි බලමු skydive network එකේ කොටසක් නොවන network device එකක් add කරන්නේ කොහොමද කියලා. අපි මේ උදාහරණය බලමු. අපට විවිධ ධාරක දෙකකින් ක්‍රියාත්මක වන ස්කයිඩයිව් නියෝජිතයන් දෙදෙනෙකු ඇත, මෙම ධාරක දෙක සම්බන්ධ කිරීමට අපට TOR ස්විචයක් අවශ්‍ය වේ. වින්‍යාස ගොනුවක ව්‍යුහය නෝඩ් සහ සබැඳි නිර්වචනය කිරීමෙන් අපට මෙය සාක්ෂාත් කරගත හැකි වුවද, ටොපොලොජි රීති API භාවිතයෙන් අපට එය කරන්නේ කෙසේදැයි බලමු.

TOR ස්විචයක් නොමැතිව, පහත රූපයේ දැක්වෙන පරිදි, නියෝජිතයන් දෙක කිසිදු සබැඳියක් නොමැතිව විවිධ නෝඩ් දෙකක් ලෙස දිස්වනු ඇත.

Skydive සේවාලාභියා හරහා අතින් Skydive Topology වෙත node එකක් එකතු කිරීම

දැන් 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 වෙත node එකක් එකතු කිරීම

දැන් TOR ස්විචය, වරාය 1 සහ සත්කාරක 1 හි පොදු අතුරු මුහුණත අතර සම්බන්ධතාවයක් ඇති කිරීමට පහත Edge Rule විධානයන් ක්‍රියාත්මක කරන්න.

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"

TOR ස්විචය සහ වරාය අතර හිමිකාරිත්වය සහ layer2 ආශ්‍ර ඇති අතර, නියෝජිතයින් සහ වරායන් අතර layer2 ආශ්‍රද දැන් නිර්මාණය වී ඇත. දැන් අවසාන ස්ථලකය පහත රූපයේ ආකාරයට පෙනෙනු ඇත.

Skydive සේවාලාභියා හරහා අතින් Skydive Topology වෙත node එකක් එකතු කිරීම

දැන් ධාරක/නියෝජකයින් දෙදෙනා නිවැරදිව සම්බන්ධ වී ඇති අතර ඔබට සම්බන්ධතාවය පරීක්ෂා කිරීමට හෝ ධාරක දෙක අතර කෙටිම මාර්ගය ග්‍රහණය කර ගැනීමට හැකිය.

PS සබැඳිය මුල් තනතුර

අපි වෙනත් Skydive විශේෂාංග ගැන පළ කිරීම් ලිවිය හැකි පුද්ගලයන් සොයමින් සිටිමු.
ටෙලිග්‍රාම් කතාබස් skydive.network හරහා.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න