Ansible eğitiminde fena gitmiyoruz. En son yapıyı yeniden kurgulamaya ve her bir görevi farklı playbooklara dağıtmaya çalışıyoruz. Aşağıdaki resimde de görüldüğü gibi bir dizin kurgusuna gittik. Bu sanırım Ansible Docs'un istediği veya önerdiği bir yapı. Her bir görevin altında dikkat ederseniz bir main.yml dosyası var. Ayrıca tree isimli yeni bir komut öğrendim. Linux'ta dizin alt yapısını öğrenmek için bu komutu kullanabiliyorsunuz ancak yüklü olması gerekiyor. Yüklemesi birkaç saniyelik bir işlem. Denemenizi öneririm.
4 Ocak 2023 Çarşamba
28 Aralık 2022 Çarşamba
ModuleNotFoundError: No module named 'Tkinter'
Ubuntu için:
sudo apt-get install python3-tk
27 Aralık 2022 Salı
Ansible'da Değişkenler ve Inventory Dosyasında Sunucuları Gruplandırma
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:
***
26 Aralık 2022 Pazartesi
gather_facts komutu
Ansible otomasyonu eğitimi çok güzel gidiyor. Playbook'ları özelleştirmeye ve farklı yöntemler kullanmaya başladık. Örneğin değişkenleri kullanarak playbook'ları özelleştirdik. Listede yer alan farklı türdeki linux dağıtımları için parametrelerden yararlanarak görevi detaylandırabiliyorsunuz. Ansible ile ilgili yaptığımız çalışma hakkında daha sonra detaylı bilgi tekrar paylaşmaya çalışacağım. Bir de şöyle bir komut kullandık bu hoşuma gittiği için özellikle blog yazmak istedim. Bir worker hakkında dözet bilgi çekip detayına bakmanıza yardımcı oluyor, hangi Linux dağıtımı vs. gibi.
$ ansible all -m gather_facts --limit 192.168.1.64 | grep ansible_distribution
Ve dönen yanıt:
24 Aralık 2022 Cumartesi
Ansible Playbook ile Apache Kurulumu Yaptım
Playbook oluşturmak ve içerisine eklediğimiz görevleri tek bir komutla tüm sunuculara uygulamak gerçekten büyük bir kolaylık. Ufkum genişledi diyebilirim. Eğitim sürecinde şöyle bir şey yaptık, ansible-otomasyonu klasörümüzde bir yml dosyası oluşturduk ve içerisine yapmak istediğimiz görevleri ekleyip kaydettik. Komutlar sırasıyla apt index'ini güncelliyor, ardından apache ve php kurulumunu da yaparak görevi tamamlıyor.
apache_yukleme.yml dosyasının içeriği:
Playbook'u çalıştırdığımız komut:
ansible-playbook --ask-become-pass apache_yukleme.yml
Visual Studio Terminal ile Githup Commit
git config --global user.name "name"
git config --user.email "e-mail"
21 Aralık 2022 Çarşamba
Ansible Maratonuna Devam - ansible.cfg Dosyasını Oluşturdum
Yazdığımız konfigürasyonla birlikte tüm sunuculara tek bir komutla ve o komutu kısaltarak ping atmayı başardık. Ayrıca bunun dışında tüm sunucuları tek bir komut ile reboot edebildik. Gayet keyifli bir konuydu. Çok yavaş ilerlediğimin farkındayım ama en azından ilerliyorum diyelim :)
17 Aralık 2022 Cumartesi
SSH Remote Host Identification Has Changed - knowsn_hosts Dosyası
Daha önce ssh bağlantısı kurulmuş ve belirli anahtarlarla bu parmak izleri dijital olarak bilgisayara tanıtılmış ancak sıfırdan yepyeni bir ssh atılmak isteniyorsa cmder veya kabuk aşağıdaki gibi bir hata verecektir. Bu aslında bir kimlik saldırısı olma ihtimaline karşı önlem amaçlı kullanıcıyı uyaran bir sistemdir. Hangi durumda karşılaştım: Daha önce kurduğum ve ssh bağlantısı oluşturduğum sanal sunucumu yeniden aynı konfigürasyonlarla kurduğumda ve ssh atmak istediğimde bu uyarıyla karşılaştım. Yani bilgisayar ssh atılacak yer için daha önce oluşturulmuş bir kayıtla verilerin uyuşmadığını dolayısıyla bunun bir tehdit olabileceğine karşı beni uyarıyor. Çözüm olarak knowsn_hosts dosyasının içerisindeki ilgili kayıtları temizledim ve bağlantıyı yeniden oluşturdum.
14 Aralık 2022 Çarşamba
İlk Shell Dosyamı Oluşturdum
Ansible otomasyonu için kurulum aşamalarını shell ile yapmaya çalışıyorum.
nano ansible.sh
chmod +rx ansible.sh
bash ansible.sh