Membuat playbook Ansible untuk mengkonfigurasi server web atau database
- Langkah-langkah:
- Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh Ansible.
- Buat playbook yang menentukan taks yang akan dilakukan oleh Ansible pada server. Misalnya, untuk mengkonfigurasi server web Apache, playbook dapat memuat taks seperti meng-install Apache, mengkonfigurasi virtual host, dan mengaktifkan modul yang diperlukan.
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”.
Contoh:
- Membuat playbook ansible untuk mengkonfigurasi server web Apache:
- Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file dengan menambahkan IP atau hostname server web yang akan dikonfigurasi. Contohnya:
Copy code[webservers]
192.168.0.10
192.168.0.11
- Buat playbook dengan menentukan taks yang akan dilakukan oleh ansible pada server web. Misalnya:
Copy code---
- name: Configure Apache web server
hosts: webservers
become: true
tasks:
- name: Install Apache
yum:
name: httpd
state: present
- name: Configure virtual host
template:
src: virtualhost.j2
dest: /etc/httpd/conf.d/virtualhost.conf
- name: Enable required Apache modules
shell: |
a2enmod rewrite
a2enmod ssl
- name: Restart Apache
service:
name: httpd
state: restarted
- Buat template untuk konfigurasi virtual host yang akan di-include ke dalam playbook. Misalnya:
Copy code<VirtualHost *:80>
ServerName {{ server_name }}
ServerAdmin {{ server_admin }}
DocumentRoot {{ document_root }}
<Directory {{ document_root }}>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”. Ansible akan meng-install Apache, mengkonfigurasi virtual host, mengaktifkan modul yang diperlukan, dan restart Apache di semua server web yang terdaftar di inventory file.
Membuat playbook ansible untuk mengelola user dan grup di sistem operasi
- Langkah-langkah:
- Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh ansible.
- Buat playbook yang menentukan taks yang akan dilakukan oleh ansible pada server. Misalnya, untuk mengelola user dan grup, playbook dapat memuat taks seperti menambahkan user baru, mengubah password user, atau menghapus user.
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”.
Contoh:
- Membuat playbook ansible untuk menambahkan user baru “john” dan mengubah password user “smith” di semua server yang terdaftar di inventory file:
- Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file dengan menambahkan IP atau hostname server yang akan dikonfigurasi.
- Buat playbook dengan menentukan taks yang akan dilakukan oleh ansible pada server. Misalnya:
Copy code---
- name: Manage users and groups
hosts: all
become: true
tasks:
- name: Add user "john"
user:
name: john
state: present
password: "$6$salt$hashed_password"
- name: Change password for user "smith"
user:
name: smith
password: "$6$salt$new_hashed_password"
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”. ansible akan menambahkan user “john” dan mengubah password user “smith” di semua server yang terdaftar di inventory file. Apakah ada yang bisa saya bantu lagi?
Membuat playbook ansible untuk meng-install aplikasi dan dependensinya di server
- Langkah-langkah:
- Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh ansible.
- Buat playbook yang menentukan taks yang akan dilakukan oleh ansible pada server. Misalnya, untuk meng-install aplikasi dan dependensinya, playbook dapat memuat taks seperti meng-install paket yang diperlukan, meng-download aplikasi dari repositori, atau mengekstrak file aplikasi.
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”.
Contoh:
- Membuat playbook ansible untuk meng-install aplikasi “myapp” yang membutuhkan paket “libpq-dev” dan “python3-dev” sebagai dependensinya di semua server yang terdaftar di inventory file:
- Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file dengan menambahkan IP atau hostname server yang akan dikonfigurasi.
- Buat playbook dengan menentukan taks yang akan dilakukan oleh ansible pada server. Misalnya:
Copy code---
- name: Install myapp and dependencies hosts: all become: true tasks: - name: Install dependencies apt: name: "{{ item }}" state: present with_items: - libpq-dev - python3-dev - name: Download myapp get_url: url: https://example.com/myapp.tar.gz dest: /tmp/myapp.tar.gz - name: Extract myapp unarchive: src: /tmp/myapp.tar.gz dest: /opt/myapp remote_src: yes - name: Install myapp shell: | cd /opt/myapp python3 setup.py install
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”. ansible akan meng-install paket yang diperlukan, meng-download dan mengekstrak file aplikasi, dan menjalankan perintah instalasi aplikasi di semua server yang terdaftar di inventory file.
Membuat playbook ansible untuk mengelola infrastruktur jaringan (misalnya menambahkan router atau switch baru)
- Langkah-langkah:
- Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file yang berisi daftar device jaringan yang akan dikonfigurasi oleh ansible.
- Buat playbook yang menentukan taks yang akan dilakukan oleh ansible pada device jaringan. Misalnya, untuk mengelola infrastruktur jaringan, playbook dapat memuat taks seperti menambahkan atau menghapus interface, mengkonfigurasi IP address, atau mengubah konfigurasi routing.
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”.
Contoh:
- Membuat playbook ansible untuk menambahkan interface “eth2” dengan IP address “192.168.0.10/24” dan mengaktifkan routing di semua router yang terdaftar di inventory file:
- Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine
- Buat inventory file dengan menambahkan IP atau hostname router yang akan dikonfigurasi.
- Buat playbook dengan menentukan taks yang akan dilakukan oleh ansible pada router. Misalnya:
Copy code---
- name: Configure network infrastructure
hosts: all
become: true
tasks:
- name: Add interface "eth2" with IP address "192.168.0.10/24"
interface:
name: eth2
ipv4: "192.168.0.10/24"
state: present
- name: Enable routing
lineinfile:
dest: /etc/sysctl.conf
line: "net.ipv4.ip_forward=1"
state: present
shell: sysctl -p /etc/sysctl.conf
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”. ansible akan menambahkan interface “eth2” dengan IP address yang ditentukan dan mengaktifkan routing di semua router yang terdaftar di inventory file.
Membuat playbook ansible untuk mengelola aplikasi yang dijalankan di dalam container Docker
- Langkah-langkah:
- Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh ansible.
- Buat playbook yang menentukan taks yang akan dilakukan oleh ansible pada server. Misalnya, untuk mengelola aplikasi yang dijalankan di dalam container Docker, playbook dapat memuat taks seperti meng-install Docker, menjalankan atau menghentikan container, atau meng-update image container. 4. Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”.
Contoh:
- Membuat playbook ansible untuk menjalankan container Docker yang menjalankan aplikasi “myapp” di semua server yang terdaftar di inventory file:
- Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
- Buat inventory file dengan menambahkan IP atau hostname server yang akan dikonfigurasi.
- Buat playbook dengan menentukan taks yang akan dilakukan oleh ansible pada server. Misalnya:
Copy code---
- name: Run myapp in Docker container
hosts: all
become: true
tasks:
- name: Install Docker
package:
name: docker
state: present
- name: Run myapp container
docker_container:
name: myapp
image: myapp:latest
state: started
published_ports:
- "80:80"
- Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”. ansible akan meng-install Docker dan menjalankan container “myapp” di semua server yang terdaftar di inventory file.