GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal phoenixNAP BMC Ansible Module

Pendahuluan

Ansible adalah perangkat lunak manajemen dan otomatisasi server sumber terbuka yang memungkinkan Infrastruktur sebagai Kode (IaC). Alat ini memungkinkan penerapan, penyediaan, dan manajemen konfigurasi aplikasi secara sederhana dan efektif.

Ansible Automation Hub mengumpulkan modul dari Red Hat dan mitra bersertifikat. phoenixNAP bangga menjadi bagian dari koleksi konten tepercaya Ansible dengan plugin Bare Metal Cloud. Konsep yang diperkenalkan Ansible ini memungkinkan untuk menginstal penyedia cloud sebagai library tambahan.

Ikuti langkah-langkah dalam panduan ini untuk menginstal modul phoenixNAP BMC Ansible dan pelajari cara menggunakan buku pedoman yang relevan.

Prasyarat

  • Dapat dipasang di mesin kontrol
  • Python diinstal pada mesin kontrol (tersedia secara default)

Manfaat Menggunakan PNAP BMC Ansible Module

Alat IaC ini dirancang untuk memungkinkan pelanggan menyediakan server Bare Metal Cloud dan melakukan tugas lain menggunakan skrip YAML sederhana disebut buku pedoman. Anda sekarang dapat mengotomatiskan pembuatan server secara efisien dengan penyediaan yang tidak dapat diubah. Selain manfaat dari mengotomatisasi proses TI, bonus lainnya adalah kemampuan untuk menjalankan kembali kode yang sama untuk mengembalikan server ke keadaan semula jika terjadi modifikasi yang tidak diinginkan.

Model ini tidak memiliki mesin master dan slave. Anda menggunakan satu mesin untuk mendorong file, yaitu, menjalankan skrip pada satu atau beberapa host jarak jauh. Tidak ada agen pada node individu yang menarik informasi dari server utama. Modul Bare Metal Cloud tidak memerlukan SSH untuk menjalankan playbook.

Dengan menjadi plugin bersertifikat di Red Hat Ansible Automation Hub, proses pemasangan modul BMC cepat dan selesai menggunakan satu perintah Ansible . Kemudian, Anda dapat menginstruksikan Ansible untuk menjalankan skrip yang berisi kode YAML dengan deskripsi tugas otomatisasi yang ingin Anda lakukan. Modul memastikan untuk mencapai hasil akhir yang Anda tentukan, dan dalam urutan yang benar.

Konten di Ansible Automation Hub didukung oleh Red Hat dan mitranya. Dengan cara ini, bahkan lingkungan yang paling menuntut pun dapat yakin bahwa modul akan memenuhi harapan.

Instal BMC Ansible Module

Sebelum menginstal plugin BMC Ansible, Anda memerlukan permintaan Python paket di mesin Anda. Ini memungkinkan pengiriman berbagai jenis permintaan HTTP.

Untuk memasang permintaan , masukkan:

pip install requests

Kemudian, jalankan perintah Ansible untuk menginstal modul phoenixNAP BMC:

ansible-galaxy collection install phoenixnap.bmc

Setelah instalasi selesai, lihat dokumentasi modul dengan perintah ini:

ansible-doc phoenixnap.bmc.server

Plugin Ansible BMC bergantung pada permintaan API. Semua permintaan BMC API didokumentasikan di Portal Pengembang phoenixNAP.

Buat File Kredensial untuk Otentikasi

Agar berhasil mengautentikasi dengan server otorisasi kami, gunakan jenis pemberian Kredensial Klien.

Di direktori home Anda, buat direktori .pnap dan config.yaml file di dalamnya.

File harus berisi informasi berikut:

clientId: myClientId

clientSecret: myClientSecret

Ganti myClientId dan myClientSecret dengan ID dan rahasia Anda.

Playbook BMC phoenixNAP yang memungkinkan

Menulis buku pedoman Ansible tidak memerlukan keterampilan pengkodean khusus, dan mereka mencakup semua API BMC yang tersedia. Skrip ini ditulis dalam YAML, bahasa serialisasi sederhana yang digunakan saat membuat file konfigurasi. Ansible bekerja dengan memeriksa status server yang sebenarnya dan membandingkannya dengan serangkaian instruksi dalam buku pedoman.

Ketika status tidak cocok dengan hasil akhir yang ditentukan, modul memastikan untuk mengikuti model sumber daya dari skrip untuk mencapai tujuan yang ditetapkan.

Jika Anda menjalankan playbook lebih dari sekali, modul tidak akan melakukan tugas tambahan. Setelah status server BMC yang sebenarnya sesuai dengan tujuan skrip, Anda dapat menjalankan skrip beberapa kali, dan modul tidak akan melakukan tugas apa pun.

Cara Menjalankan BMC Playbook

Nama buku pedoman menunjukkan apa yang dilakukan skrip. Misalnya, playbook_power_off.yml mematikan satu atau beberapa server.

Untuk menjalankan buku pedoman, gunakan sintaks ini:

ansible-playbook playbook_name.yml

Oleh karena itu, untuk mereset server, masukkan:

ansible-playbook playbook_reset.yml

Contoh BMC Playbook

Contoh playbook YAML yang akan kami berikan di bawah ini mirip satu sama lain. Perbedaannya adalah status server yang ingin Anda capai. Satu-satunya file yang sedikit lebih berbeda dari yang lain adalah skrip untuk membuat server.

Setiap buku pedoman harus berisi satu atau lebih nama host atau server_id , serta client_id dan rahasia_klien . Metode yang disukai adalah memasukkan nilai di ~/.pnap/config.yaml file alih-alih di setiap buku pedoman.

Buat Server

Nama buku pedoman:playbook_create.yml

- name: Create new servers for account
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      location: PHX
      os: ubuntu/bionic
      type: s1.c1.medium
      state: present
      ssh_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"

Server Deprovisioning

Nama buku pedoman:playbook_deprovision.yml

- name: reset servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: absent

Matikan Server

Nama buku pedoman:playbook_power_off.yml

- name: power on servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: powered-off

Nyalakan Server

Nama buku pedoman:playbook_power_on.yml

- name: power on servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: powered-on

Reboot Server

Nama buku pedoman:playbook_reboot.yml

- name: reset servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      state: rebooted

Setel Ulang Server

Nama buku pedoman:playbook_reset.yml

- name: reset servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      hostnames: [my-server-red]
      ssh_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
      state: reset

Mematikan Server

Nama buku pedoman:playbook_shutdown.yml

Dalam contoh ini, kami menggunakan server_ids bukannya nama host .

- name: shutdown servers
  hosts: localhost
  gather_facts: false
  vars_files:
    - ~/.pnap/config.yaml
  collections:
    - phoenixnap.bmc
  tasks:
  - server:
      client_id: "{{clientId}}"
      client_secret: "{{clientSecret}}"
      server_ids:
        - 5eda71ef674cf47bd2599cfa
      state: shutdown

Ubuntu
  1. Cara Menginstal Ansible di AlmaLinux 8

  2. Cara Menginstal Ansible di Debian 11

  3. Cara Menginstal Ansible di CentOS 8

  1. Cara Menginstal Ansible di Fedora 35

  2. Cara Menginstal Ansible di Ubuntu 18.04 LTS

  3. Cara Menginstal Ansible di Linux Mint 20

  1. Cara Menginstal dan Mengonfigurasi Ansible di Windows

  2. Cara menginstal Ansible di Ubuntu Server 21.04

  3. Cara Menginstal Ansible di CentOS 7