Ansible'ın yeteneklerini gördükçe heyecanlanıyorum ve gerçekten ufkum genişliyor diyebilirim. Birçok şey yapmaya başladık. Bugün varsayılan yml dosyası oluşturup inventory dosyamızda sunuclarımızı gruplandırdık ve görevleri yine worker'lar üzerindeki sunucu tiplerine göre çalıştırmayı başardık. Yeni yml dosyamızda artık görev görev yapılacak işlemleri ekleyip sonucunun gerçekleşmesini bekliyoruz. Yml dosyasının son hali:
inventory:
[web_sunuculari]
192.168.1.64
[veritabani_sunuculari]
192.168.1.65
apache_varsayilan.yml:
apache_sunucusu: apache2
php_kutuphane: libapache2-mod-php
***
---
- hosts: all
become: true
tasks:
- name: Bu gorev, sunucu güncellemeleri için hazırlanmıştır.
ansible.builtin.package:
upgrade: dist
update_cache: yes
when: ansible_distribution == "Ubuntu"
# worker'ların arasında Rocky olsaydı update_only: yes ve
distirbution kısmı "Rocky" olarak ayrıca eklenecekti.
# Bu görev Ubuntu için Apache ve Php kütüphanesini yükler.
- hosts: web_sunuculari
become: true
tasks:
- name: İşletim sistemlerini tespit et.
debug: var=ansible_os_family
- name: Dosyalardan değişkenleri oku
include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "vars/apache_{{ ansible_os_family }}"
- "vars/apache_varsayilan.yml"
- name: Bu gorev, Ubuntu için apache ve php kütüphanesi ile
birlikte paket index'ini gunceller.
ansible.builtin.package:
name:
- "{{ apache_sunucusu }}"
- "{{ php_kutuphane }}"
state: latest