Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Skydive adalah topologi jaringan dan penganalisis protokol sumber terbuka dan real-time. Hal ini bertujuan untuk memberikan cara yang komprehensif untuk memahami apa yang terjadi dalam infrastruktur jaringan.

Untuk menarik minat Anda, saya akan memberikan beberapa screenshot tentang Skydive. Di bawah ini akan ada postingan tentang pengenalan Skydive.

Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Pos "Pengantar skydive.network» di Habré.

Skydive menampilkan topologi jaringan dengan menerima kejadian jaringan dari agen Skydive. Pernahkah Anda bertanya-tanya bagaimana cara menambahkan atau menampilkan dalam diagram topologi komponen jaringan yang berada di luar jaringan agen Skydive atau objek non-jaringan seperti TOR, penyimpanan data, dll. Tidak perlu khawatir lagi berkat Node rule API.

Sejak versi 0.20, Skydive menyediakan API aturan Node yang dapat digunakan untuk membuat node dan edge baru serta memperbarui metadata node yang ada. API aturan Node dibagi menjadi dua API: API aturan node dan API aturan edge. Node Rule API digunakan untuk membuat node baru dan memperbarui metadata node yang sudah ada. API aturan tepi digunakan untuk membuat batas antara dua node, mis. menghubungkan dua node.

Di blog ini kita akan melihat dua kasus penggunaan, salah satunya adalah komponen jaringan yang bukan bagian dari jaringan skydive. Opsi kedua adalah komponen non-jaringan. Sebelum itu, kita akan melihat beberapa cara dasar menggunakan Topology Rules API.

Membuat Node Terjun Payung

Untuk membuat node, Anda harus memberikan nama node yang unik dan tipe node yang valid. Anda juga dapat memberikan beberapa opsi tambahan.

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

Perbarui Metadata Node Skydive

Untuk memperbarui metadata node yang ada, Anda harus menyediakan kueri gremlin untuk memilih node yang ingin Anda perbarui metadatanya. Sesuai permintaan Anda, Anda dapat memperbarui metadata dari satu atau beberapa node menggunakan aturan node tunggal.

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

Membuat Tepi Terjun Payung

Untuk membuat sebuah edge, Anda harus menentukan node sumber dan tujuan serta tipe link dari edge; untuk membuat node anak, nilai tipe link harus berupa kepemilikan; demikian pula, untuk membuat layer2 tipe link, nilai tipe link harus lapisan2. Anda dapat membuat lebih dari satu tautan antara dua node, namun jenis tautannya harus berbeda.

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

Kasus penggunaan pertama

Dalam hal ini, kita akan melihat cara menampilkan perangkat non-jaringan dalam topologi skydive. Mari kita asumsikan bahwa kita memiliki gudang data yang perlu ditampilkan dalam diagram topologi skydive dengan beberapa metadata yang berguna.

Kita hanya perlu membuat aturan node untuk menambahkan perangkat ke topologi. Kita dapat menambahkan metadata perangkat sebagai bagian dari perintah buat, atau nanti membuat satu atau beberapa perintah aturan simpul pembaruan.

Jalankan perintah aturan host berikut untuk menambahkan perangkat penyimpanan ke diagram topologi.

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"

Jalankan perintah di bawah aturan tepi untuk mengaitkan simpul yang dibuat dengan simpul host.

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

Setelah perintah di atas, Anda sekarang dapat melihat perangkat terlihat di diagram topologi skydive dengan metadata yang diberikan seperti yang ditunjukkan pada gambar di bawah.

Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Kasus penggunaan kedua

Dalam hal ini kita akan melihat cara menambahkan perangkat jaringan yang bukan bagian dari jaringan skydive. Mari kita lihat contoh ini. Kami memiliki dua agen skydive yang berjalan pada dua host berbeda, untuk menghubungkan kedua host ini kami memerlukan saklar TOR. Meskipun kita dapat mencapai hal ini dengan mendefinisikan node struktur dan link dalam file konfigurasi, mari kita lihat bagaimana kita dapat melakukan hal yang sama menggunakan Topology Rules API.

Tanpa saklar TOR, kedua agen akan muncul sebagai dua node berbeda tanpa tautan apa pun, seperti yang ditunjukkan pada gambar di bawah.

Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Sekarang jalankan perintah Aturan Host berikut untuk membuat sakelar dan port 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"

Seperti yang Anda lihat, sakelar dan port TOR telah dibuat dan ditambahkan ke topologi skydive, dan topologi sekarang akan terlihat seperti gambar di bawah.

Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Sekarang jalankan perintah Edge Rule berikut untuk membuat koneksi antara saklar TOR, port 1 dan antarmuka publik 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"

Jalankan perintah berikut untuk membuat tautan antara port sakelar TOR 2 dan antarmuka publik 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"

Kepemilikan dan asosiasi layer2 kini dibuat antara switch TOR dan port, serta asosiasi layer2 antara agen dan port. Sekarang topologi terakhir akan terlihat seperti gambar di bawah ini.

Menambahkan node ke topologi Skydive secara manual melalui klien Skydive

Sekarang kedua host/agen telah terhubung dengan benar dan Anda dapat menguji koneksi atau membuat tangkapan jalur terpendek antara kedua host.

Tautan PS ke postingan asli

Kami mencari orang yang dapat menulis postingan tentang fitur Skydive lainnya.
Obrolan telegram melalui skydive.network.

Sumber: www.habr.com

Tambah komentar