6 Configuration management (Ansible)

0

Membuat playbook Ansible untuk mengkonfigurasi server web atau database

  • Langkah-langkah:
    1. Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh Ansible.
    3. 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.
    4. Jalankan playbook dengan perintah “ansible-playbook -i inventory playbook.yml”.

Contoh:

  • Membuat playbook ansible untuk mengkonfigurasi server web Apache:
    1. Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
    2. 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
  1. 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
  1. 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>
  1. 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:
    1. Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh ansible.
    3. 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.
    4. 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:
    1. Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file dengan menambahkan IP atau hostname server yang akan dikonfigurasi.
    3. 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"
  1. 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:
    1. Install dan konfigurasikan Ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh ansible.
    3. 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.
    4. 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:
    1. Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file dengan menambahkan IP atau hostname server yang akan dikonfigurasi.
    3. 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
  1. 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:
    1. Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file yang berisi daftar device jaringan yang akan dikonfigurasi oleh ansible.
    3. 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.
    4. 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:
    1. Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine
    2. Buat inventory file dengan menambahkan IP atau hostname router yang akan dikonfigurasi.
    3. 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
  1. 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:
    1. Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file yang berisi daftar server yang akan dikonfigurasi oleh ansible.
    3. 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:
    1. Install dan konfigurasikan ansible di komputer yang akan digunakan sebagai control machine.
    2. Buat inventory file dengan menambahkan IP atau hostname server yang akan dikonfigurasi.
    3. 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"
  1. 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.
0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments