Ubuntu için:
sudo apt-get install python3-tk
Ubuntu için:
sudo apt-get install python3-tk
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:
***
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:
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
git config --global user.name "name"
git config --user.email "e-mail"
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 :)
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.
Ansible otomasyonu için kurulum aşamalarını shell ile yapmaya çalışıyorum.
nano ansible.sh
chmod +rx ansible.sh
bash ansible.sh
![]() |
Bunu henüz çözemedim, şimdilik ansible otomasyonunda bu aşamadayım. |
/etc/resolv.conf dosyasını nano ile açarak DNS girebiliyorsunuz ancak bu o anki oturumunuz sırasında geçerli oluyor ve sunucuyu kapatıp açtığınızda veya yeniden başlattığınızda DNS ayarlarınız eski haline geri dönüyor. Bunu kalıcı olarak düzeltebilmek için öncelikle Resolv.conf dosyasını unutmanız gerekmekte. Öncelikle bu dosyayla bir işiniz yok. Daha statik bir işlem yaparak bunu düzeltmek mümkün.
sudo nano /etc/netplan/00-installer-config.yaml
Ardından ilgili tabloyu DNS dahil diğer IP bilgilerinizle birlikte sytax'a uygun doldurmanız gerekiyor. Bu tabloda yazım kurallarına dikkat etmelisiniz. Çünkü doğru yazılmadığında IP veya DNS bilgileriniz okunmayacaktır. Aşağıdaki resimde yer aldığı gibi doldurabilirsiniz.
Dosyayı Ctrl+X ve Y tuşları ile birlikte kaydettikten sonra network değişikliklerini uygulamak için aşağıdaki komutu çalıştırabilirsiniz.
sudo netplan apply
Hepsi bu kadar. Geçmiş olsun.
Kurduğum Ubuntu sunucuları internete çıkmıyordu. sudo nano /etc/resolve.conf komutu ile DNS kayıtlarını kontrol ettim ve yeni bir nameserver kaydı ekleyerek karşılığına 8.8.8.8 verdim ve Ctrl+x ve Y ile yani nanoyu kaydederek çıkış yaptım. Sonuç: yeni kurduğum sunucu internete çıkabildi.