Skydive เปเบเบฑเบเปเบซเบผเปเบเปเบเบตเบ, topology เปเบเบทเบญเบเปเบฒเบเปเบงเบฅเบฒเบเบดเบ เปเบฅเบฐเบเบปเบงเบงเบดเปเบเบฒเบฐเปเบเบฃเปเบเบเป. เบกเบฑเบเบกเบตเบเบธเบเบเบฐเบชเบปเบเปเบเบทเปเบญเบชเบฐเบซเบเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบชเบปเบกเบเบนเบเปเบเบเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเปเบเบเบชเปเบฒเบเปเบเบทเบญเบเปเบฒเบ.
เปเบเบทเปเบญเปเบซเปเปเบเบปเปเบฒเบชเบปเบเปเบ, เบเปเบญเบเบเบฐเปเบซเปเบเบฒเบเปเปเบฒเบเปเบเบฒเบเบญเบฑเบเบเปเบฝเบงเบเบฑเบ Skydive เปเบซเปเปเบเบปเปเบฒ. เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเบฐเบกเบตเบเบปเบเปเบเบฐเบเปเบฒเบเปเบฝเบงเบเบฑเบ Skydive.
เปเบเบ "
Skydive เบชเบฐเปเบเบ topology เปเบเบทเบญเบเปเบฒเบเปเบเบเบเบฒเบเบฎเบฑเบเปเบซเบเบเบฒเบเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบปเบงเปเบเบ Skydive. เบเปเบฒเบเปเบเบตเบเบชเบปเบเปเบชเบงเปเบฒเบงเบดเบเบตเบเบฒเบเปเบเบตเปเบกเบซเบผเบทเบชเบฐเปเบเบเบขเบนเปเปเบเบญเบปเบเบเบฐเบเบญเบเปเบเบทเบญเบเปเบฒเบ topology diagram เบเบตเปเบขเบนเปเบเบญเบเปเบเบทเบญเบเปเบฒเบเบเบปเบงเปเบเบ Skydive เบซเบผเบทเบงเบฑเบเบเบธเบเบตเปเบเปเปเปเบกเปเบเปเบเบทเบญเบเปเบฒเบเปเบเบฑเปเบ TOR, เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบ, เปเบฅเบฐเบญเบทเปเบเป. เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบงเบปเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบฑเปเบเบญเบตเบเบเปเปเปเบเบเปเบญเบ Node rule API .
เบเบฑเบเบเบฑเปเบเปเบเปเบชเบฐเบเบฑเบ 0.20, Skydive เบชเบฐเบซเบเบญเบ Node rule API เบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบ nodes เปเบฅเบฐ edges เปเบซเบกเปเปเบฅเบฐเบเบฑเบเบเบธเบ metadata เบเบญเบ nodes เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง. Node rule API เปเบเปเบเบญเบญเบเปเบเบฑเบเบชเบญเบ APIs: node rule API เปเบฅเบฐ edge rule API. Node Rule API เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเปเบฒเบ node เปเบซเบกเปเปเบฅเบฐเบเบฑเบเบเบธเบ metadata เบเบญเบ node เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง. API เบเบปเบเบฅเบฐเบเบฝเบเบเบญเบเปเบกเปเบเปเบเปเปเบเบทเปเบญเบชเปเบฒเบเบเบญเบเปเบเบเบฅเบฐเบซเบงเปเบฒเบเบชเบญเบ nodes, i.e. เปเบเบทเปเบญเบกเบเปเปเบชเบญเบ nodes.
เปเบ blog เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบชเบญเบเบเปเบฅเบฐเบเบตเบเบฒเบเบเปเบฒเปเบเป, เบซเบเบถเปเบเปเบเบเบฑเปเบเปเบกเปเบเบญเบปเบเบเบฐเบเบญเบเปเบเบทเบญเบเปเบฒเบเบเบตเปเบเปเปเปเบกเปเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเปเบเบทเบญเบเปเบฒเบ skydive. เบเบฒเบเปเบฅเบทเบญเบเบเบตเบชเบญเบเปเบกเปเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเปเปเปเบกเปเบเปเบเบทเบญเบเปเบฒเบ. เบเปเบญเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเบเบฒเบเบงเบดเบเบตเบเบทเปเบเบเบฒเบเปเบเบเบฒเบเบเปเบฒเปเบเป Topology Rules API.
เบเบฒเบเบชเปเบฒเบ Skydive Node
เปเบเบทเปเบญเบชเปเบฒเบ node, เบเปเบฒเบเบเปเบญเบเปเบซเปเบเบทเป node เปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเปเบฅเบฐเบเบฐเปเบเบ 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
เปเบเบทเปเบญเบเบฑเบเบเบธเบ metadata เบเบญเบ node เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เบเปเบฒเบเบเปเบญเบเบชเบฐเบซเบเบญเบเบเบฒเบเบชเบญเบเบเบฒเบก gremlin เปเบเบทเปเบญเปเบฅเบทเบญเบ nodes เบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฑเบเบเบธเบ metadata. เบเบฒเบกเบเบฒเบเบฎเปเบญเบเบเปเบเบญเบเบเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบธเบ metadata เบเบญเบเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบ nodes เปเบเบเปเบเปเบเบปเบเบฅเบฐเบเบฝเบ 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')"
}
เบเบฒเบเบชเปเบฒเบเบเบญเบ Skydive
เปเบเบทเปเบญเบชเปเบฒเบเบเบญเบ, เบเปเบฒเบเบเปเบญเบเบฅเบฐเบเบธเบเบธเบเบเบตเปเบกเบฒเปเบฅเบฐเบเบธเบเบซเบกเบฒเบเบเบฒเบเบเบฒเบเปเบฅเบฐเบเบฐเปเบเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบญเบเบเบญเบ; เปเบเบทเปเบญเบชเปเบฒเบ node เปเบเบฑเบเบเปเบญเบ, เบกเบนเบเบเปเบฒเบเบฐเปเบเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเบญเบเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบ; เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เปเบเบทเปเบญเบชเปเบฒเบ link type layer2, เบกเบนเบเบเปเบฒเบเบฐเปเบเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเบญเบเปเบเบฑเบ. เบเบฑเปเบ2. เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบงเปเบฒเบเบชเบญเบ nodes, เปเบเปเบเบฐเปเบเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเบญเบเปเบเบเบเปเบฒเบเบเบฑเบ.
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"
}
}
เบเปเบฅเบฐเบเบตเบเปเบฒเบญเบดเบเบเบตเปเปเบเป
เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบชเบฐเปเบเบเบญเบธเบเบฐเบเบญเบเบเบตเปเบเปเปเปเบกเปเบเปเบเบทเบญเบเปเบฒเบเปเบ topology skydive. เปเบซเปเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบฑเบเบเปเปเบกเบนเบเบเบตเปเบเปเบญเบเบเบฒเบเบชเบฐเปเบเบเบขเบนเปเปเบเปเบเบเบงเบฒเบ topology skydive เบเบตเปเบกเบต metadata เบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบเบฒเบเบขเปเบฒเบ.
เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบชเปเบฒเบเบเบปเบเบฅเบฐเบเบฝเบ node เปเบเบทเปเบญเปเบเบตเปเบกเบญเบธเบเบฐเบเบญเบเปเบชเป topology. เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเบตเปเบก metadata เบเบญเบเบญเบธเบเบฐเบเบญเบเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเปเบฒเบชเบฑเปเบเบชเปเบฒเบ, เบซเบผเบทเบเปเปเบกเบฒเบชเปเบฒเบเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบเปเบฒเบชเบฑเปเบเบเบปเบเบฅเบฐเบเบฝเบ node เบเบฒเบเบเบฑเบเบเบธเบ.
เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบปเบเบฅเบฐเบเบฝเบเปเบเบปเปเบฒเบเบฒเบเบเปเปเปเบเบเบตเปเปเบเบทเปเบญเปเบเบตเปเบกเบญเบธเบเบฐเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบชเปเปเบเบเบงเบฒเบ 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"
เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเบปเบเบฅเบฐเบเบฝเบเบเบญเบเปเบเบทเปเบญเปเบเบทเปเบญเบกเปเบเบเบเบฑเบ node เบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฑเบเปเบฎเบ node.
skydive client edge-rule create --src="G.V().Has('Name', 'node1')" --dst="G.V().Has('Name', 'sda')" --relationtype="ownership"
เบซเบผเบฑเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเปเบเบดเบ, เบเบญเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบซเบฑเบเปเบเปเปเบเปเบเบเบงเบฒเบ topology skydive เบเปเบงเบ metadata เบเบตเปเปเบซเปเปเบงเปเบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เบเปเบฅเบฐเบเบตเบเบฒเบเบเปเบฒเปเบเปเบเบตเบชเบญเบ
เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเปเบเบตเปเบกเบญเบธเบเบฐเบเบญเบเปเบเบทเบญเบเปเบฒเบเบเบตเปเบเปเปเปเบกเปเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเปเบเบทเบญเบเปเบฒเบ skydive. เปเบซเปเปเบเบดเปเบเบเบปเบงเบขเปเบฒเบเบเบตเป. เบเบงเบเปเบฎเบปเบฒเบกเบตเบชเบญเบเบเบปเบงเปเบเบ skydive เปเบฅเปเบเบขเบนเปเปเบเบชเบญเบเปเบเบปเปเบฒเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบชเบญเบเปเบเบปเปเบฒเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบชเบฐเบซเบผเบฑเบ TOR. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธเปเบเปเปเบเบเบเบฒเบเบเปเบฒเบเบปเบเบเปเปเปเบเบเบชเปเบฒเบเปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ, เปเบซเปเปเบเบดเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบงเปเบเปเบเบเปเบเป Topology Rules API.
เปเบเบเบเปเปเบกเบตเบเบฒเบเบชเบฐเบซเบผเบฑเบ TOR, เบเบฑเบเบชเบญเบเบเบปเบงเปเบเบเบเบฐเบเบฒเบเบปเบเปเบเบฑเบเบชเบญเบ nodes เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเป, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เบเบญเบเบเบตเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ Host Rules เบเปเปเปเบเบเบตเปเปเบเบทเปเบญเบชเปเบฒเบเบเบธเปเบก 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 เปเบฅเบฐเบเบญเบเบเปเบฒเบเปเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบฅเบฐเปเบเบตเปเบกเปเบเบปเปเบฒเปเบ topology skydive, เปเบฅเบฐ topology เบเบฐเบเบธเบเบฑเบเบเบฐเบเปเบฒเบเบเบทเบเบฑเบเบฎเบนเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เบเบญเบเบเบตเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ Edge Rule เบเปเปเปเบเบเบตเปเปเบเบทเปเบญเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบงเปเบฒเบ TOR switch, port 1 เปเบฅเบฐเบชเปเบงเบเบเบดเบเบเปเปเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบญเบ 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"
เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเปเปเบเบทเปเบญเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบงเปเบฒเบ TOR switch port 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"
เบเบฐเบเบธเบเบฑเบเบเบตเป, เบชเบฐเบกเบฒเบเบปเบกเปเบเบปเปเบฒเบเบญเบ เปเบฅเบฐ layer2 เบเบทเบเบชเปเบฒเบเบเบทเปเบเบฅเบฐเบซเบงเปเบฒเบ TOR switch เปเบฅเบฐเบเบญเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ layer2 เบฅเบฐเบซเบงเปเบฒเบเบเบปเบงเปเบเบเปเบฅเบฐเบเบญเบ. เปเบเบเบฑเบเบเบธเบเบฑเบ topology เบชเบธเบเบเปเบฒเบเบเบฐเบเปเบฒเบเบเบทเบฎเบนเบเบเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฑเบเบชเบญเบ hosts / เบเบปเบงเปเบเบเปเบเปเบเบทเบเปเบเบทเปเบญเบกเบเปเปเบขเปเบฒเบเบเบทเบเบเปเบญเบเปเบฅเบฐเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบปเบเบชเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบซเบผเบทเบชเปเบฒเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบชเบฑเปเบเบเบตเปเบชเบธเบเบฅเบฐเบซเบงเปเบฒเบเบชเบญเบ host.
PS เปเบเบทเปเบญเบกเบเปเปเบซเบฒ
เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบญเบเบซเบฒเบเบนเปเบเบตเปเบชเบฒเบกเบฒเบเบเบฝเบเบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐ Skydive เบญเบทเปเบเป.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com