panggilan RELIANOID API REST dari Powershell

Lihat Kategori

panggilan RELIANOID API REST dari Powershell

10 menit baca

Cara untuk mengelola RELIANOID API dari Windows #

Mengelola dan mengotomatisasi dari jarak jauh a RELIANOID Load Balancer dapat dilakukan secara efektif menggunakan noid-cli, program antarmuka baris perintah berbasis Perl. noid-cli dirancang untuk melakukan panggilan API langsung dari baris perintah, menyederhanakan tugas seperti mengonfigurasi server virtual, memantau status sistem, dan menyesuaikan pengaturan penyeimbangan beban. Alat ini menyediakan serangkaian perintah yang telah ditentukan sebelumnya yang mengabstraksi kompleksitas interaksi API, memungkinkan administrator menjalankan operasi dengan cepat tanpa perlu membuat permintaan HTTP secara manual. Kemudahan penggunaan dan integrasinya dengan skrip shell menjadikannya pilihan praktis untuk pemeliharaan rutin dan penyesuaian cepat dalam lingkungan terminal.

Di sisi lain, pemrograman a Skrip PowerShell dengan Metode Invoke-Istirahat untuk mengelola panggilan API ke RELIANOID Load Balancer menawarkan lebih banyak fleksibilitas dan potensi otomatisasi. Skrip PowerShell dapat mengotomatiskan rangkaian interaksi API yang kompleks, menangani data dinamis, dan berintegrasi dengan layanan dan alat berbasis Windows lainnya. Dengan menggunakan Metode Invoke-Istirahat, administrator dapat membuat skrip otomatisasi khusus yang secara tepat memenuhi kebutuhan operasional mereka, seperti mengatur prosedur failover, melakukan pembaruan massal, atau mengintegrasikan manajemen penyeimbang beban ke dalam alur kerja manajemen sistem yang lebih luas. Metode ini memanfaatkan kekuatan penuh kemampuan skrip PowerShell, termasuk penanganan kesalahan, pencatatan log, dan manipulasi data tingkat lanjut, menjadikannya ideal untuk tugas otomatisasi dan skenario integrasi yang canggih.

Artikel ini akan menjelaskan panggilan API menggunakan metode Powershell.

Menggunakan Powershell untuk melakukan panggilan API #

Melakukan panggilan ke API menggunakan PowerShell untuk mengotomatisasi sistem melibatkan pemanfaatan cmdlet Invoke-RestMethod , yang menyederhanakan pengiriman permintaan HTTP dan HTTPS ke layanan web RESTful. Cmdlet ini memungkinkan interaksi dengan API dengan menentukan URL endpoint, metode HTTP (GET, POST, PUT, DELETE), header (seperti token otorisasi), dan isi permintaan (biasanya dalam format JSON). Dengan demikian, Anda dapat mengambil, membuat, memperbarui, atau menghapus sumber daya pada sistem target. Skrip PowerShell dapat mengotomatisasi tugas-tugas berulang, seperti mengelola mesin virtual, mengkonfigurasi perangkat jaringan, atau mengambil status sistem, sehingga meningkatkan efisiensi dan konsistensi operasional.

Untuk memulai, Anda biasanya akan menentukan endpoint API dan kredensial yang diperlukan. Misalnya, Anda mungkin menggunakan otentikasi dasar atau kunci API di header. Selanjutnya, tergantung pada operasi API, Anda mungkin perlu menyiapkan payload JSON untuk permintaan POST atau PUT, yang dapat dengan mudah dibuat dan dikonversi dari objek PowerShell menggunakan cmdlet ConvertTo-Json . Setelah permintaan dibuat dan dikirim, Invoke-RestMethod memproses respons, yang dapat Anda manipulasi lebih lanjut atau gunakan dalam tugas selanjutnya di dalam skrip Anda. Proses yang efisien ini menjadikan PowerShell alat yang ampuh bagi administrator sistem dan pengembang yang bertujuan untuk mengotomatisasi dan mengintegrasikan berbagai sistem dan layanan melalui API.

Prasyarat untuk mengaktifkan otomatisasi API jarak jauh #

Untuk melakukan panggilan API dari PowerShell untuk dikelola RELIANOID Load Balancer, beberapa prasyarat harus dipenuhi:

Mengaktifkan Izin API dan Membuat Kunci API #

Pertama, Anda perlu mengaktifkan izin API untuk akun pengguna yang akan melakukan panggilan. Ini melibatkan akses ke GUI web load balancer dan menavigasi ke Sistem > Pengguna . Di bagian ini, Anda dapat mengkonfigurasi akun pengguna dan menetapkan izin API. Buat atau pilih akun pengguna dan hasilkan Kunci API, yang akan digunakan untuk mengautentikasi panggilan API. Jika Anda menggunakan pengguna Kontrol Akses Berbasis Peran (RBAC), pastikan peran mereka mencakup izin yang diperlukan untuk berinteraksi dengan API. Kunci API ini sangat penting untuk mengautentikasi dan mengotorisasi permintaan API dari skrip PowerShell Anda.

Untuk informasi lebih lanjut, silakan lihat artikel ini https://www.relianoid.com/resources/knowledge-base/system-enterprise-edition-v8-administration-guide/system-user/.

Mengidentifikasi Titik Akhir API #

Kedua, Anda perlu mengidentifikasi titik akhir API yang benar untuk menghubungkan ke penyeimbang beban. Titik akhir API biasanya menyertakan URL dasar penyeimbang beban Anda diikuti dengan jalur spesifik untuk berbagai fungsi. Dalam kasus penyiapan penyeimbang beban terkluster, sangat penting untuk menggunakan alamat IP bersama untuk titik akhir API. Alamat IP bersama ini memastikan bahwa panggilan API selalu diarahkan ke node master, terlepas dari node mana yang saat ini bertindak sebagai master. Menggunakan IP bersama mencegah masalah di mana panggilan API mungkin dilakukan ke node siaga, memastikan bahwa semua konfigurasi dan operasi diterapkan secara konsisten ke node master aktif.

Contoh API Powershell #

Opsi SkipCertificateCheck tidak dapat dikenali di versi PowerShell yang lebih lama. Jika ini terjadi pada Anda, harap definisikan opsi ini di awal skrip PowerShell Anda:

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

Selain itu, kita perlu menambahkan baris berikut pada skrip PowerShell kita untuk menghindari kesalahan “ Invoke-RestMethod: Koneksi yang mendasarinya ditutup: Terjadi kesalahan tak terduga saat menerima ”.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

Mendapatkan detail Peternakan #

Skrip ini melakukan permintaan GET untuk mengambil informasi tentang peternakan tertentu di RELIANOID Penyeimbang Beban.

Prasyarat

  • menggantikan dengan kunci API Anda yang sebenarnya.
  • menggantikan <RELIANOID_SERVER> dengan alamat server Anda yang sebenarnya RELIANOID Penyeimbang Beban.
  • menggantikan dengan peternakan sebenarnya.
  • Pastikan Anda telah mengaktifkan izin API yang diperlukan.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Tentukan variabel $apiKey = " " $server = "RELIANOID_SERVER>" $namapertanian = " " # Tentukan URL endpoint API $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName" # Lakukan panggilan API menggunakan Invoke-RestMethod $response = Invoke -RestMethod -Uri $apiUrl -Method Get -Headers @{ "API_KEY" = $apiKey } -SkipCertificateCheck # Keluarkan respons $response

Penjelasan

1. Variabel:

  • $apiKey: Kunci API Anda.
  • $server: Alamat Anda RELIANOID Penyeimbang Beban.
  • $farmName: Nama peternakan yang ingin Anda ambil informasinya.

2. URL Endpoint API:

  • $apiUrl: Dibangun menggunakan alamat server dan nama peternakan.

3. Invoke-RestMethod:

  • -Uri $apiUrl: Menentukan titik akhir API.
  • -Metode Dapatkan: Menentukan metode HTTP GET.
  • -Header @{ "API_KEY" = $apiKey }: Menambahkan kunci API ke header permintaan.
  • -LewatiPemeriksaan Sertifikat: Melewati validasi sertifikat SSL (setara dengan -k di curl). Ini berguna untuk pengujian atau ketika server menggunakan sertifikat yang ditandatangani sendiri.

4. Keluaran:
Respons dari panggilan API disimpan di $response variabel dan kemudian dikeluarkan ke konsol.

Silakan merujuk ke Apidoc resmi untuk informasi lebih lanjut tentang panggilan ini https://www.relianoid.com/apidoc/v4.0/#retrieve-farm-by-name

Menambahkan Backend baru di Pertanian #

Skrip ini melakukan permintaan POST untuk menambahkan backend baru ke layanan tertentu dalam suatu farm pada penyeimbang beban Relianoid.

Prasyarat

  • menggantikan dengan kunci API Anda yang sebenarnya.
  • menggantikan <RELIANOID_SERVER> dengan alamat server Anda yang sebenarnya RELIANOID Penyeimbang Beban.
  • menggantikan dengan peternakan sebenarnya.
  • menggantikan dengan layanan HTTP tempat backend akan ditambahkan.
  • menggantikan dengan IP backend baru.
  • menggantikan dengan PORT backend baru.
  • Pastikan Anda telah mengaktifkan izin API yang diperlukan.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Tentukan variabel $apiKey = " " $server = "RELIANOID_SERVER>" $namapertanian = " " $namalayanan = " " # Tentukan URL endpoint API $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName/services/$serviceName/backends" # Tentukan isi permintaan $ permintaanBody = @{ ip = " "pelabuhan = bobot = 1 prioritas = 1 } | ConvertTo-Json # Lakukan panggilan API menggunakan Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Post -Headers @{ "Content-Type" = "application/json" "API_KEY" = $apiKey } -Body $ requestBody -SkipCertificateCheck # Keluarkan respon $response

Penjelasan

1. Variabel:

  • $apiKey: Kunci API Anda.
  • $server: Alamat Anda RELIANOID Penyeimbang Beban.
  • $farmName: Nama peternakan yang ingin Anda tambahkan backend baru.
  • $serviceName: Nama layanan dalam farm tempat backend akan ditambahkan.

2. URL Endpoint API:

  • $apiUrl: Dibangun menggunakan alamat server, nama peternakan, dan nama layanan.

3. Isi Permintaan:

  • $requestBody: Berisi payload JSON dengan detail server backend. Itu dikonversi ke format JSON menggunakan Konversi Ke-Json.

4. Invoke-RestMethod:

  • -Uri $apiUrl: Menentukan titik akhir API.
  • -Metode Posting: Menentukan metode HTTP POST.
  • -Header @{ "Content-Type" = "application/json"; "API_KEY" = $apiKey }: Menambahkan Content-Type ke KUNCI API ke header permintaan.
  • -Tubuh $requestBody: Menentukan payload JSON untuk permintaan POST.
  • -LewatiPemeriksaan Sertifikat: Melewati validasi sertifikat SSL (setara dengan -k di curl). Ini berguna untuk pengujian atau ketika server menggunakan sertifikat yang ditandatangani sendiri.

5. Keluaran:
Respons dari panggilan API disimpan di $response variabel dan kemudian dikeluarkan ke konsol.

Silakan lihat Apidoc resmi untuk informasi lebih lanjut tentang panggilan ini https://www.relianoid.com/apidoc/v4.0/#create-a-new-backend

Aktifkan Backend dalam mode pemeliharaan #

Skrip ini melakukan permintaan PUT untuk menyetel server backend ke mode pemeliharaan di RELIANOID Penyeimbang Beban.

Prasyarat

  • menggantikan dengan kunci API Anda yang sebenarnya.
  • menggantikan <RELIANOID_SERVER> dengan alamat server Anda yang sebenarnya RELIANOID Penyeimbang Beban.
  • menggantikan dengan peternakan sebenarnya.
  • menggantikan dengan layanan HTTP tempat backend akan dipelihara.
  • menggantikan dengan ID backend untuk mengubah mode pemeliharaan.
  • Pastikan Anda telah mengaktifkan izin API yang diperlukan.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Tentukan variabel $apiKey = " " $server = "RELIANOID_SERVER>" $namapertanian = " " $namalayanan = " " $backendId = # Tentukan URL endpoint API $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName/services/$serviceName/backends/$backendId/maintenance" # Tentukan isi permintaan $requestBody = @{ action = "maintenance" mode = "drain" } | ConvertTo-Json # Lakukan panggilan API menggunakan Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Put -Headers @{ "Content-Type" = "application/json" "API_KEY" = $apiKey } -Body $ requestBody -SkipCertificateCheck # Keluarkan respon $response

Penjelasan

1. Variabel:

  • $apiKey: Kunci API Anda.
  • $server: Alamat Anda RELIANOID Penyeimbang Beban.
  • $farmName: Nama peternakan tempat backend untuk melakukan pemeliharaan ditambahkan.
  • $serviceName: Nama layanan dalam farm tempat backend akan berada dalam pemeliharaan.
  • $backendId: ID backend yang akan dimasukkan ke mode pemeliharaan.

2. URL Endpoint API:

  • $apiUrl: Dibangun menggunakan alamat server, nama peternakan, dan nama layanan.

3. Isi Permintaan:

  • $requestBody: Berisi payload JSON dengan tindakan dan mode untuk menyetel backend ke mode pemeliharaan. Itu dikonversi ke format JSON menggunakan Konversi Ke-Json.

4. Invoke-RestMethod:

  • -Uri $apiUrl: Menentukan titik akhir API.
  • -Metode Masukan: Menentukan metode HTTP PUT.
  • -Header @{ "Content-Type" = "application/json"; "API_KEY" = $apiKey }: Menambahkan Content-Type ke KUNCI API ke header permintaan.
  • -Tubuh $requestBody: Menentukan payload JSON untuk permintaan PUT.
  • -LewatiPemeriksaan Sertifikat: Melewati validasi sertifikat SSL (setara dengan -k di curl). Ini berguna untuk pengujian atau ketika server menggunakan sertifikat yang ditandatangani sendiri.

5. Keluaran:
Respons dari panggilan API disimpan di $response variabel dan kemudian dikeluarkan ke konsol.

Silakan lihat Apidoc resmi untuk informasi lebih lanjut tentang panggilan ini https://www.relianoid.com/apidoc/v4.0/#backend-in-maintenance

Dokumentasi API lebih lanjut #

Untuk informasi lebih detail tentang panggilan API yang tersedia untuk mengelola RELIANOID Load Balancer, Anda dapat merujuk ke dokumentasi API resmi di RELIANOID Dokumentasi API. Sumber daya komprehensif ini memberikan deskripsi mendetail tentang setiap titik akhir API, termasuk metode HTTP yang diperlukan, parameter permintaan, dan format respons.

Dokumentasi disusun untuk membantu Anda memahami cara berinteraksi dengan berbagai aspek penyeimbang beban, seperti mengelola farm, layanan, dan backend, serta memantau status dan kinerja sistem. Setiap panggilan API disertai dengan contoh dan penjelasan untuk memandu Anda melalui proses menyusun permintaan dan menangani responsnya. Ini adalah sumber daya penting bagi administrator sistem dan pengembang yang ingin mengotomatiskan dan menyederhanakan tugas manajemen penyeimbang beban mereka menggunakan API.

📄 Unduh dokumen ini dalam format PDF #

    EMAIL: *

    Didukung oleh BetterDocs