Ansible Nedir?
Hata 1: "No Hosts Matched" Hatası
Çözüm:
1. Envanter Dosyasını Kontrol Edin: Ansible, hedef sunucuların listelendiği envanter dosyasını kullanır. Bu dosyada doğru IP adreslerini ve sunucu adlarını eklediğinizden emin olun. Örneğin:
[web_servers]
192.168.1.10
192.168.1.11
2. Envanter Dosyasını Doğru Belirtin: Playbook komutunu çalıştırırken envanter dosyasını doğru belirttiğinizden emin olun. Örneğin:
ansible-playbook -i /path/to/inventory my_playbook.yml
Hata 2: "Permission Denied" Hatası
Çözüm:
1. SSH Anahtarlarını Kontrol Edin: Ansible, hedef sunucuya bağlanmak için SSH anahtarlarını kullanır. Eğer doğru SSH anahtarını sunucuya eklemediyseniz, bu hatayı alabilirsiniz. SSH anahtarınızı doğru şekilde yüklediğinizden emin olun. Ayrıca, `ansible_user` değişkenini kullanarak doğru kullanıcıyı belirlediğinizden emin olun.
ansible_user: your_user
ansible_ssh_private_key_file: /path/to/your/private_key
2. Kullanıcı İzinlerini Kontrol Edin: Hedef sunucudaki kullanıcının gerekli izinlere sahip olduğundan emin olun. Özellikle, Playbook’un root erişimi gerektiriyorsa, kullanıcınızın sudo izinlerine sahip olması gerekir.
sudo visudo
Hata 3: "Module Not Found" Hatası
Çözüm:
1. Modülün Yüklü Olduğunu Kontrol Edin: Ansible modüllerinin sisteminizde yüklü olup olmadığını kontrol edin. Eğer eksikse, gerekli modülü yüklemek için şu komutu çalıştırabilirsiniz:
ansible-galaxy collection install ansible.builtin
2. Doğru Modül Kullanımını Kontrol Edin: Playbook’ta kullanılan modülün doğru yazıldığından ve sistemde uyumlu olduğundan emin olun.
Hata 4: "Failed to Connect to the Host via SSH" Hatası
Çözüm:
1. SSH Servisini Kontrol Edin: Hedef sunucunun SSH servisi çalışıyor mu? Eğer çalışmıyorsa, aşağıdaki komutu kullanarak SSH servisini başlatabilirsiniz:
sudo systemctl start sshd
2. Firewall Ayarlarını Kontrol Edin: Hedef sunucunun firewall ayarları, Ansible’ın SSH üzerinden bağlanmasına engel olabilir. Hedef sunucuda SSH bağlantısına izin verildiğinden emin olun.
sudo ufw allow ssh
Hata 5: "Unreachable" Hatası
Çözüm:
1. Ping Testi Yapın: Ansible’ın hedef sunucuya ulaşabilir olup olmadığını test etmek için `ping` komutunu kullanabilirsiniz:
ping 192.168.1.10
2. Ağ Bağlantısını Kontrol Edin: Sunucular arasındaki ağ bağlantısının düzgün çalıştığından emin olun. Ağda herhangi bir kesinti olup olmadığını kontrol edin.