Cara Menggunakan Galaksi yang Mungkin

Ansible Galaxy adalah manajer peran dan koleksi untuk Ansible. Anda dapat membandingkannya dengan manajer paket NPM (Node Package Manager) dari Node.js.

Ansible Galaxy menyelenggarakan peran dan koleksi Ansible yang dibuat oleh komunitas. Alih-alih menulis ulang dari awal, Anda dapat menginstalnya di komputer Anda menggunakan alat command line Ansible Galaxy dan menggunakannya di buku pedoman Anda.

Anda juga dapat menulis peran dan koleksi Anda dan mengunggahnya ke Ansible Galaxy. Ini di luar cakupan artikel ini.

Pada artikel ini, saya akan menunjukkan kepada Anda cara menggunakan alat command line Ansible Galaxy untuk menginstal peran dan koleksi Ansible Galaxy dan menggunakannya di buku pedoman Anda. Jadi, mari kita mulai.

Prasyarat:

Jika Anda ingin mencoba contoh artikel ini,

1) Anda harus menginstal Ansible di komputer Anda.

2) Anda harus memiliki setidaknya 2 host Linux ( Debian 10 dan CentOS 7) yang dikonfigurasi untuk otomatisasi Ansible.

Ada banyak artikel di LinuxHint yang didedikasikan untuk Menginstal Ansible dan mengonfigurasi host untuk otomatisasi Ansible. Anda dapat memeriksanya jika diperlukan.

Menyiapkan Direktori Proyek:

Sebelum kita mulai, mari buat direktori proyek sehingga kita dapat mengatur file proyek kita.

Untuk membuat direktori proyek galaxy-demo/ di dalam kamu HOME direktori, jalankan perintah berikut:

$ mkdir -pv galaxy-demo/{playbooks,vars}

Sekarang, navigasikan ke galaxy-demo/ direktori sebagai berikut:

$ cd galaxy-demo/

Buat file konfigurasi Ansible ansible.cfg di direktori proyek Anda sebagai berikut:

$ nano ansible.cfg

Ketik baris berikut ansible.cfg mengajukan.

[defaults]
inventory           = hosts
host_key_checking   = False

Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan ansible.cfg berkas konfigurasi.

Buat file inventaris yang memungkinkan hosts di direktori proyek Anda sebagai berikut:

$ nano hosts

Ketik baris berikut di Anda host’s berkas inventaris.

[database]
vm1.nodekite.com
[web]
vm9.nodekite.com

Di Sini, vm1.nodekite.com adalah host Debian 10, dan vm9.nodekite.com adalah host CentOS 7.

Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan hosts berkas inventaris.

Untuk memeriksa apakah Anda dapat melakukan ping ke host Ansible jarak jauh dari komputer Anda, jalankan perintah berikut:

$ ansible all -u ansible -m ping

Seperti yang Anda lihat, saya dapat melakukan ping ke host Ansible jarak jauh saya vm1.nodekite.com dan vm9.nodekite.com.

Mencari Peran dan Koleksi Galaksi yang Mungkin:

Anda dapat mencari peran dan koleksi Ansible Galaxy di situs resmi Ansible Galaxy.

Setelah halaman web dimuat, klik ikon pencarian untuk mencari peran dan koleksi Ansible Galaxy.

Sekarang, ketik apa yang Anda cari dan klik ikon pencarian.

Dalam contoh ini, saya telah mencari mysql server. Seperti yang Anda lihat, hasil pencarian ditampilkan.

Istilah pencarian mysql server mengembalikan 2 koleksi dan banyak peran.

Peran adalah modul Ansible yang melakukan hal-hal tertentu. Koleksi memiliki banyak peran. Itulah perbedaan utama antara peran dan koleksi.

Untuk melihat informasi lebih lanjut tentang peran, klik peran.

Itu Details tab paket peran akan menampilkan informasi teknis tentang peran tersebut.

Itu Read Me tab akan menampilkan informasi penginstalan dan useran peran.

Dengan cara yang sama, paket koleksi akan memiliki informasi penginstalan di Details tab.

pada Content tab, peran yang akan dipasang oleh koleksi akan ditampilkan.

Itu Read Me tab akan menampilkan informasi yang berguna tentang koleksi.

Memasang dan Menggunakan Peran Galaxy yang Mungkin:

Di bagian ini, saya akan menunjukkan cara menginstal dan menggunakan peran Ansible Galaxy. Jadi, mari kita mulai.

Katakanlah; Anda ingin menginstal peran Ansible Galaxygeerlingguy.mysql.

Untuk melakukannya, jalankan perintah berikut:

$ ansible-galaxy install geerlingguy.mysql

Peran Galaksi yang Mungkin geerlingguy.mysql harus dipasang.

Buat buku pedoman install_database.yaml dalam playbooks/ direktori untuk menguji geerlingguy.mysql peran sebagai berikut:

$ nano playbooks/install_database.yaml

Kemudian, ketik baris berikut di install_database.yaml mengajukan.

- hosts: database
  user: ansible
  become: yes
  vars_files:
   -../vars/database.yaml
  roles:
    - role: geerlingguy.mysql

Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan install_database.yaml mengajukan.

Di sini, peran geerlingguy.mysql digunakan dalam roles bagian.

Itu vars_filessection digunakan untuk menambahkan variabel role/playbook yang diperlukan ke playbook. Di sini, variabel akan ditempatkan divars/database.yaml mengajukan.

Sekarang, buat database.yaml file di vars/ direktori sebagai berikut:

$ nano vars/database.yaml

Sekarang, tambahkan variabel yang Anda inginkan di database.yamlmengajukan. Saya telah menambahkan variabel berikut didatabase.y
aml
mengajukan.

mysql_databases:
  - name: db01
    encoding: utf8mb4
    collation: utf8mb4_unicode_ci
mysql_users:
  - name: linuxhint
    host: "%"
    password: secret
    priv: "db01.*:ALL"

Variabel ini mengkonfigurasi geeringguy.mysql peran sehingga menciptakan user baru linuxhint, mengatur password secret Untuk linuxhint user, membuat database baru db01 dan hibah linuxhint akses penuh user ke db01 basis data.

Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan database.yaml mengajukan.

Sekarang, Anda dapat menjalankan install_database.yaml buku pedoman sebagai berikut:

$ ansible-playbook playbooks/install_database.yaml

Seperti yang Anda lihat, buku pedoman menjalankan geerlingguy.mysqlperan. Mungkin perlu beberapa saat untuk menyelesaikannya.

Pada titik ini, install_mysql.yaml buku pedoman harus diselesaikan.

Di host Debian 10 vm1.nodekite.com saya, mysql service sedang berjalan seperti yang Anda lihat pada tangkapan layar di bawah ini,

Saya juga bisa login ke server database MySQL sebagai linuxhint user.

Seperti yang Anda lihat, database db01 juga dibuat.

Jadi, inilah cara Anda menginstal dan menggunakan peran Ansible Galaxy.

Memasang dan Menggunakan Koleksi yang Mungkin:

Di bagian ini, saya akan menunjukkan cara menginstal dan menggunakan koleksi Ansible Galaxy. Jadi, mari kita mulai.

Katakanlah; Anda ingin menginstal koleksi Ansible Galaxygeerlingguy.php_roles.

Untuk melakukannya, jalankan perintah berikut:

$ ansible-galaxy collection install geerlingguy.php_roles

Koleksi geerlingguy.php_roles harus dipasang.

Untuk menggunakan koleksi, buat yang baru playbook install_php.yaml dalam playbooks/ direktori sebagai berikut:

$ nano playbooks/install_php.yaml

Sekarang, ketik baris berikut di install_php.yaml mengajukan.

- hosts: web
  user: ansible
  become: yes
  collections:
   - geerlingguy.php_roles
  roles:
    - role: php
    - role: php_versions
      vars:
        php_version: '7.3'

Setelah selesai, tekan <Ctrl> + X diikuti oleh Y dan <Enter> untuk menyelamatkan install_php.yaml mengajukan.

Garis-garis ini mengimpor geerlingguy.php_roles koleksi di buku pedoman Anda.

Dalam rolesbagian, Anda dapat menggunakan peran yang Anda butuhkan dari koleksi Anda. Di sini, saya telah menambahkan 2 peran (php dan php_versions) dari geerlingguy.php_roles koleksi.

Itu php peran tidak memiliki variabel khusus peran.

Jika Anda ingin mengonfigurasi peran menggunakan variabel, Anda dapat menambahkannya di bawah vars bagian dari role sebagai berikut.

Anda dapat menemukan peran apa yang tersedia untuk digunakan di halaman resmi koleksi Galaxy Ansible

Halaman resmi Ansible Galaxy dari peran tersebut akan memiliki informasi tentang variabel apa yang dapat Anda gunakan untuk mengonfigurasi peran tersebut.

Sekarang, Anda dapat menjalankan install_php.yaml buku pedoman sebagai berikut:

$ ansible-playbook playbooks/install_php.yaml

Seperti yang Anda lihat, buku pedoman sedang berjalan. Mungkin perlu beberapa saat untuk menyelesaikannya.

Pada titik ini, buku pedoman harus diselesaikan.

Seperti yang Anda lihat, saya dapat mengakses server web Apache 2 yang berjalan di host CentOS 7 saya vm9.nodekite.com.

Saya juga telah membuat index.php file di /var/www/html/ direktori Host CentOS 7 saya vm9.nodekite.com.

Seperti yang Anda lihat, server web dapat melayani index.php halaman dengan benar.

Jadi, begitulah cara Anda menginstal dan menggunakan koleksi Ansible Galaxy.

Kesimpulan:

Pada artikel ini, saya telah menjelaskan apa itu Galaksi Ansible. Saya juga telah menunjukkan cara menginstal dan menggunakan peran/koleksi dari Ansible Galaxy. Ansible Galaxy akan membantu Anda menghindari menciptakan kembali roda, juga dikenal sebagai pengulangan kode. Anda seharusnya dapat menyelesaikan proyek Ansible Anda lebih cepat menggunakan Ansible Galaxy.

Related Posts