Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Mae Skydive yn ffynhonnell agored, topoleg rhwydwaith amser real a dadansoddwr protocol. Ei nod yw darparu ffordd gynhwysfawr o ddeall beth sy'n digwydd mewn seilwaith rhwydwaith.

Er mwyn eich diddori, byddaf yn rhoi cwpl o sgrinluniau i chi am Skydive. Isod bydd post ar gyflwyniad i Skydive.

Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Postio"Cyflwyniad i skydive.network» ar Habré.

Mae Skydive yn arddangos topoleg y rhwydwaith trwy dderbyn digwyddiadau rhwydwaith gan asiantau Skydive. Ydych chi erioed wedi meddwl sut i ychwanegu neu arddangos mewn diagram topoleg cydrannau rhwydwaith sydd y tu allan i'r rhwydwaith asiant Skydive neu wrthrychau nad ydynt yn rhwydwaith fel TOR, storio data, ac ati Nid oes angen poeni am hynny mwyach diolch i'r rheol Node API.

Ers fersiwn 0.20, mae Skydive yn darparu API rheol Node y gellir ei ddefnyddio i greu nodau ac ymylon newydd ac i ddiweddaru metadata nodau presennol. Mae'r API rheol Node wedi'i rannu'n ddau API: yr API rheol nod a'r API rheol ymyl. Defnyddir API Rheol Node i greu nod newydd a diweddaru metadata nod sy'n bodoli eisoes. Defnyddir yr API rheol ymyl i greu ffin rhwng dau nod, h.y. yn cysylltu dau nod.

Yn y blog hwn byddwn yn gweld dau achos defnydd, ac mae un ohonynt yn gydran rhwydwaith nad yw'n rhan o'r rhwydwaith nenblymio. Mae'r ail opsiwn yn gydran nad yw'n rhwydwaith. Cyn hynny, byddwn yn edrych ar rai ffyrdd sylfaenol o ddefnyddio'r API Rheolau Topoleg.

Creu Nôd Skyblymio

I greu nod, rhaid i chi ddarparu enw nod unigryw a math nod dilys. Gallwch hefyd ddarparu rhai opsiynau ychwanegol.

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

Diweddaru Metadata Nodau Skydive

I ddiweddaru metadata nod presennol, rhaid i chi ddarparu ymholiad gremlin i ddewis y nodau rydych chi am ddiweddaru'r metadata arnynt. Yn unol â'ch cais, gallwch ddiweddaru metadata un neu fwy o nodau gan ddefnyddio rheol un nod.

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

Creu Ymyl Skyblymio

I greu ymyl, rhaid i chi nodi'r nodau ffynhonnell a chyrchfan a math cyswllt yr ymyl; i greu nod plentyn, rhaid i'r gwerth math cyswllt fod yn berchenogaeth; yn yr un modd, i greu haen math cyswllt2, rhaid i'r gwerth math cyswllt fod haen2. Gallwch greu mwy nag un cyswllt rhwng dau nod, ond rhaid i'r math o ddolen fod yn wahanol.

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

Achos defnydd cyntaf

Yn yr achos hwn, byddwn yn edrych ar sut i ddangos dyfais nad yw'n rhwydwaith yn y topoleg nenblymio. Gadewch i ni ystyried bod gennym warws data y mae angen ei arddangos mewn diagram topoleg awyrblymio gyda rhai metadata defnyddiol.

Does ond angen i ni greu rheol nod i ychwanegu'r ddyfais at y topoleg. Gallwn ychwanegu metadata dyfais fel rhan o'r gorchymyn creu, neu yn ddiweddarach greu un neu fwy o orchmynion rheol nod diweddaru.

Rhedeg y gorchymyn rheol gwesteiwr canlynol i ychwanegu dyfais storio i'r diagram topoleg.

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"

Rhedeg y gorchymyn o dan y rheol ymyl i gysylltu'r nod a grëwyd â'r nod gwesteiwr.

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

Ar ôl y gorchmynion uchod, gallwch nawr weld y ddyfais yn weladwy yn y diagram topoleg skydive gyda'r metadata a roddir fel y dangosir yn y ddelwedd isod.

Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Ail achos defnydd

Yn yr achos hwn byddwn yn gweld sut i ychwanegu dyfais rhwydwaith nad yw'n rhan o'r rhwydwaith nenblymio. Gadewch i ni edrych ar yr enghraifft hon. Mae gennym ddau asiant nenblymio yn rhedeg ar ddau westeiwr gwahanol, er mwyn cysylltu'r ddau westeiwr hyn mae angen switsh TOR arnom. Er y gallwn gyflawni hyn trwy ddiffinio nodau strwythur a dolenni mewn ffeil ffurfweddu, gadewch i ni weld sut y gallwn wneud yr un peth gan ddefnyddio'r API Rheolau Topoleg.

Heb switsh TOR, bydd y ddau asiant yn ymddangos fel dau nod gwahanol heb unrhyw ddolenni, fel y dangosir yn y ddelwedd isod.

Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Nawr rhedwch y gorchmynion Rheolau Gwesteiwr canlynol i greu'r switsh TOR a'r porthladdoedd.

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"

Fel y gallwch weld, mae'r switsh TOR a'r porthladdoedd wedi'u creu a'u hychwanegu at y topoleg awyrblymio, a bydd y topoleg nawr yn edrych fel y ddelwedd isod.

Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Nawr rhedwch y gorchmynion Edge Rule canlynol i greu cysylltiad rhwng y switsh TOR, porthladd 1 a rhyngwyneb cyhoeddus gwesteiwr 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"

Rhedeg y gorchmynion canlynol i greu cyswllt rhwng porthladd switsh TOR 2 a rhyngwyneb cyhoeddus gwesteiwr 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"

Bellach mae perchnogaeth a chymdeithasau haen 2 yn cael eu creu rhwng y switsh TOR a'r porthladd, yn ogystal â chymdeithasau haen 2 rhwng asiantau a phorthladdoedd. Nawr bydd y topoleg derfynol yn edrych fel y ddelwedd isod.

Ychwanegu nod at dopoleg Skydive â llaw trwy gleient Skydive

Nawr mae'r ddau westeiwr / asiant wedi'u cysylltu'n gywir a gallwch chi brofi'r cysylltiad neu greu cipio llwybr byrraf rhwng y ddau westeiwr.

PS Cyswllt i post gwreiddiol

Rydym yn chwilio am bobl a allai ysgrifennu postiadau am nodweddion Skydive eraill.
Sgwrs Telegram trwy skydive.network.

Ffynhonnell: hab.com

Ychwanegu sylw