cloud-init nedir?
cloud-init, bir sanal sunucu ya da bulut örneği ilk kez açıldığında onu otomatik yapılandıran, yaygın bir başlangıç aracıdır. Ana bilgisayar adını, ağ ayarlarını, kullanıcıları, SSH anahtarlarını ve kurulacak paketleri bir yapılandırma verisinden okuyarak uygular. Böylece aynı imajdan birbirinden farklı sunucular elle müdahale olmadan oluşturulabilir.
Birçok bulut sağlayıcısı ve sanallaştırma platformu, resmi Linux imajlarında cloud-init'i hazır sunar. Kurulum sonrası ayarların elle yapılması yerine kod olarak tanımlanması, tekrarlanabilirlik sağlar.
Nasıl çalışır?
Sunucu açılırken cloud-init servisleri çalışır ve ortamdan bir veri kaynağını bulur. Bu kaynak, sağlayıcının sunduğu bir meta veri servisi ya da sanal bir CD olabilir. Kaynaktan gelen user-data genellikle YAML biçimindeki #cloud-config dosyasıdır ve kullanıcı ekleme, paket kurma, dosya yazma ve komut çalıştırma gibi modülleri tetikler.
Modüller aşamalara göre çalışır ve çoğu yalnızca ilk açılışta uygulanır. Sonuçlar günlük dosyalarına yazılır; sorun olduğunda cloud-init status ve /var/log/cloud-init.log incelenir.
Sunucu ve hosting ortamında
Proxmox VE gibi platformlarda cloud-init destekli şablonlardan yeni VPS oluşturmak yaygın bir yöntemdir. Sağlayıcı panelinde girilen SSH anahtarı ve ağ bilgisi bu yolla sunucuya aktarılır. Şablon hazırlarken makine kimliği ve SSH ana bilgisayar anahtarlarının temizlenmesi gerekir; aksi halde kopyalanan sunucular aynı kimliği taşır.