ʻO Skydive kahi kumu hāmama, topology pūnaewele manawa maoli a me ka mea nānā protocol. Manaʻo ia e hāʻawi i kahi ala ākea e hoʻomaopopo ai i ka mea e hana nei i kahi ʻoihana pūnaewele.
No ka hoihoi iā ʻoe, e hāʻawi wau iā ʻoe i ʻelua mau screenshots e pili ana iā Skydive. Aia ma lalo kahi pou ma kahi hoʻolauna iā Skydive.
Hoʻouna "
Hōʻike ʻo Skydive i ka topology pūnaewele ma o ka loaʻa ʻana o nā hanana pūnaewele mai nā luna Skydive. Ua noʻonoʻo paha ʻoe pehea e hoʻohui ai a hōʻike ʻia paha i nā ʻāpana pūnaewele kiʻi topology ma waho o ka Skydive agent network a i ʻole nā mea ʻoihana ʻole e like me TOR, mālama ʻikepili, a me nā mea ʻē aʻe.
Mai ka mana 0.20, hāʻawi ʻo Skydive i kahi API node rule e hiki ke hoʻohana ʻia no ka hana ʻana i nā nodes a me nā kihi hou a e hoʻohou i ka metadata o nā nodes i loaʻa. Ua māhele ʻia ka API node rule i ʻelua API: ʻo ka API rule node a me API rule edge. Hoʻohana ʻia ka API Node Rule no ka hana ʻana i kahi node hou a hōʻano hou i ka metadata o kahi node e kū nei. Hoʻohana ʻia ka API rule edge no ka hana ʻana i palena ma waena o nā node ʻelua, ʻo ia hoʻi. hoʻohui i ʻelua node.
Ma kēia moʻomanaʻo e ʻike mākou i ʻelua mau hihia hoʻohana, ʻo kekahi o ia mea he ʻāpana pūnaewele ʻaʻole ʻāpana o ka pūnaewele skydive. ʻO ka lua o ka koho he mea ʻole pūnaewele. Ma mua o kēlā, e nānā mākou i kekahi mau ala maʻamau e hoʻohana ai i ka Topology Rules API.
Ke hana ʻana i kahi Skydive Node
No ka hana ʻana i kahi node, pono ʻoe e hāʻawi i kahi inoa node kūikawā a me kahi ʻano node kūpono. Hiki iā ʻoe ke hāʻawi i kekahi mau koho ʻē aʻe.
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": ""
}
Hoʻohou Skydive Nodes Metadata
No ka hoʻohou i ka metadata o kahi node e kū nei, pono ʻoe e hāʻawi i kahi nīnau gremlin e koho i nā nodes āu e makemake ai e hoʻohou i ka metadata. E like me kāu noi, hiki iā ʻoe ke hōʻano hou i ka metadata o hoʻokahi a ʻoi aʻe paha nodes me ka hoʻohana ʻana i hoʻokahi lula node.
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')"
}
Ke hana ʻana i kahi Skydive Edge
No ka hana ʻana i kahi ʻaoʻao, pono ʻoe e kuhikuhi i ke kumu a me nā node wahi e hele ai a me ke ʻano o ka loulou o ka ʻaoʻao; no ka hana ʻana i kahi node keiki, pono ke ʻano o ka loulou i ke kuleana; pēlā, no ka hana ʻana i kahi ʻano loulou layer2, pono ke ʻano o ka loulou. papa2. Hiki iā ʻoe ke hana i ʻoi aku ma mua o hoʻokahi loulou ma waena o ʻelua nodes, akā pono ke ʻano o ka loulou.
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"
}
}
Ka hihia hoʻohana mua
I kēia hihia, e nānā mākou pehea e hōʻike ai i kahi mea ʻenehana ʻole i ka topology skydive. E noʻonoʻo kākou he hale waihona ʻikepili e pono e hōʻike ʻia ma kahi kiʻi topology skydive me kekahi metadata pono.
Pono mākou e hana i kahi lula node e hoʻohui i ka hāmeʻa i ka topology. Hiki iā mākou ke hoʻohui i ka metadata mea hana ma ke ʻano o ke kauoha haku, a i ʻole e hana i hoʻokahi a ʻoi aku paha nā kauoha node rule hou.
E holo i kēia kauoha kauoha hoʻokipa e hoʻohui i kahi mea mālama i ke kiʻi topology.
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"
E holo i ke kauoha ma lalo o ka lula e hoʻopili i ka node i hana ʻia me ka node host.
skydive client edge-rule create --src="G.V().Has('Name', 'node1')" --dst="G.V().Has('Name', 'sda')" --relationtype="ownership"
Ma hope o nā kauoha i luna, hiki iā ʻoe ke ʻike i ka mea i ʻike ʻia ma ka skydive topology diagram me ka metadata i hāʻawi ʻia e like me ka mea i hōʻike ʻia ma ke kiʻi ma lalo nei.
Hoʻohana lua
Ma kēia hihia e ʻike mākou pehea e hoʻohui ai i kahi hāmeʻa pūnaewele ʻaʻole ʻāpana o ka pūnaewele skydive. E nānā kākou i kēia laʻana. Loaʻa iā mākou ʻelua mau mea hana skydive e holo ana ma luna o ʻelua mau pūʻali like ʻole, no ka hoʻopili ʻana i kēia mau pūʻali ʻelua pono mākou i kahi hoʻololi TOR. ʻOiai hiki iā mākou ke hoʻokō i kēia ma ka wehewehe ʻana i nā nodes a me nā loulou i kahi faila hoʻonohonoho, e ʻike pehea e hiki ai iā mākou ke hana like me ka Topology Rules API.
Me ka ʻole o ka hoʻololi TOR, e ʻike ʻia nā mea ʻelua ma ke ʻano he ʻelua nodes ʻokoʻa me ka ʻole o nā loulou, e like me ka mea i hōʻike ʻia ma ke kiʻi ma lalo nei.
E holo i kēia mau kauoha Host Rules e hana i ka hoʻololi TOR a me nā awa.
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"
E like me kāu e ʻike ai, ua hana ʻia ka hoʻololi TOR a me nā awa a hoʻohui ʻia i ka topology skydive, a e like ke ʻano o ka topology e like me ke kiʻi ma lalo nei.
E holo i kēia mau kauoha Edge Rule e hana i kahi pilina ma waena o ka hoʻololi TOR, ke awa 1 a me ke kikowaena lehulehu o ka host 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"
E holo i kēia mau kauoha e hana i kahi loulou ma waena o TOR hoʻololi i ke awa 2 a me ka hoʻokipa lehulehu 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"
Hoʻokumu ʻia ka ʻona a me nā hui layer2 ma waena o ka hoʻololi TOR a me ke awa, a me nā hui layer2 ma waena o nā mea hana a me nā awa. I kēia manawa e like ka topology hope me ke kiʻi ma lalo nei.
I kēia manawa ua pili pono nā pūʻali / ʻelua a hiki iā ʻoe ke hoʻāʻo i ka pilina a i ʻole e hana i kahi hopu ala pōkole loa ma waena o nā pūʻali ʻelua.
PS loulou i
Ke ʻimi nei mākou i nā poʻe i hiki ke kākau i nā pou e pili ana i nā hiʻohiʻona Skydive ʻē aʻe.
Source: www.habr.com