Dynamic Inventory
1. Neden statik yetmez?
2. Dinamik envanter nasıl çalışır?
3. En basit demo – mini Python script
#!/usr/bin/env python3
import argparse, json, sys
inv = {
"web_servers": { "hosts": ["web1", "web2"] },
"_meta": {
"hostvars": {
"web1": { "ansible_host": "10.0.0.11" },
"web2": { "ansible_host": "10.0.0.12" }
}
}
}
parser = argparse.ArgumentParser()
parser.add_argument('--list', action='store_true')
parser.add_argument('--host')
args = parser.parse_args()
if args.list:
print(json.dumps(inv))
elif args.host:
print(json.dumps(inv['_meta']['hostvars'].get(args.host, {})))
else:
sys.exit(1)4. “Ben script yazmak istemiyorum” dersen → Inventory Plugin’leri
Platform
Plugin/Script
Nasıl kurulur?
Örnek çağrı
5. YAML envanter dosyası (statik ama daha okunur)
6. Envanteri test etmek: ansible-inventory
AWS EC2 için Dinamik Envanter
1. Gerekli paketleri kur
2. AWS kimlik bilgilerini ayarla
3. Envanter dosyasını oluştur (YAML)
4. Çıktıyı test et (debug)
5. Playbook’u çalıştır
Sık Sorulanlar
Soru
Cevap
Last updated