Pardus ETAP : Ansible İle Otomasyon Senaryoları
Bir önceki giriş yazısının devamı niteliğinde, Pardus ETAP yöneten öğretmenlerin ve sistem yöneticilerinin en çok işine yarayacak 3 kritik senaryo üzerine odaklanan bir eğitim içeriği hazırladım.
Bir önceki yazımızda Ansible’ın temellerine değinmiştik. Şimdi ise teoriden pratiğe geçiyoruz. "Tüm tahtalar saat 16:00'da kapansın", "USB portları güvenli hale getirilsin" veya "Okul logosu tüm tahtalarda duvar kağıdı olsun" gibi gerçek dünya problemlerini Ansible ile nasıl çözeceğimizi göreceğiz.
Senaryo 1: Otomatik Kapanma Zamanlayıcısı (Enerji Tasarrufu)
Okullarda en büyük sorunlardan biri, son dersten sonra açık unutulan etkileşimli tahtalardır. Ansible ile tüm tahtalara bir cron görevi tanımlayarak bu sorunu kökten çözebiliriz.
otomatik_kapanma.yml Playbook içeriği:
---
- name: Tahtaları Belirli Saatte Kapat
hosts: siniflar
become: yes
tasks:
- name: Her gün saat 16:00'da sistemi kapat
ansible.builtin.cron:
name: "Gunluk Kapanis"
minute: "0"
hour: "16"
job: "/sbin/shutdown -h now"
İpucu: Bu komutu çalıştırdığınızda, listedeki tüm tahtalar her gün saat 16:00'da güvenli bir şekilde kapanacaktır.
Senaryo 2: USB Portlarını Kısıtlama (Güvenlik)
Virüs yayılımını engellemek veya sadece belirli cihazların kullanımına izin vermek istiyorsanız, USB depolama birimlerini yazılımsal olarak engelleyebilirsiniz.
usb_engelle.yml Playbook içeriği:
---
- name: USB Depolama Birimlerini Devre Disi Birak
hosts: all
become: yes
tasks:
- name: usb-storage modülünü kara listeye ekle
kernel_blacklist:
name: usb-storage
state: present
- name: uas modülünü kara listeye ekle
kernel_blacklist:
name: uas
state: present
Bu işlemden sonra tahtalara takılan USB bellekler sistem tarafından tanınmayacaktır. (Tekrar açmak için state: absent yapmanız yeterlidir.)
Senaryo 3: Toplu Duvar Kağıdı ve Dosya Dağıtımı
Okulun logosunu veya o haftaki duyuru görselini tüm tahtalara aynı anda göndermek, kurumsal bir görünüm sağlar.
duvar_kagidi.yml Playbook içeriği:
---
- name: Duvar Kagidi Guncelleme
hosts: all
become: yes
tasks:
- name: Yeni duvar kagidi dosyasini kopyala
copy:
src: /home/nuri/duyuru.jpg
dest: /usr/share/backgrounds/duyuru.jpg
mode: '0644'
- name: Pardus ETAP Duvar Kagidini Degistir
command: dconf write /org/gnome/desktop/background/picture-uri "'file:///usr/share/backgrounds/duyuru.jpg'"
become_user: etapadmin # Buradaki kullanıcı adını tahtadaki aktif kullanıcıya göre düzenleyin
Uygulama: Playbook’ları Nasıl Çalıştırırız?
Hazırladığınız bu .yml dosyalarını çalıştırmak için terminalden şu komutu vermeniz yeterli:
ansible-playbook -i tahtalar.ini dosya_adi.yml
Önemli Hatırlatmalar
Yedek Alın: Sistem dosyalarında değişiklik yapmadan önce mutlaka test grubunda deneme yapın.
Kullanıcı Yetkileri: Pardus ETAP'ta komutların çalışması için
become: yes(sudo yetkisi) kullanımı şarttır.Log Takibi: İşlem sonunda Ansible size hangi tahtalarda işlemin başarılı (
changed), hangilerinde başarısız (failed) olduğunu özet olarak sunar.
Son Söz
Ansible kullanmak sadece zaman kazandırmaz, aynı zamanda tüm etkileşimli tahtaların aynı standartta ve güncellikte kalmasını sağlar. Pardus ETAP'ın gücünü, otomasyonun hızıyla birleştirerek okulunuzdaki dijital dönüşümü bir üst seviyeye taşıyabilirsiniz.
Bir sonraki yazımızda Ansible Vault ile şifrelerimizi nasıl gizleyeceğimizi inceleyeceğiz. Takipte kalın!
Yorumlar