Proxmox ortamında hızlı ve otomatik sanal makine dağıtımı yapmak istiyorsanız, cloud-init template oluşturmak en pratik yöntemlerden biridir. Bu yazıda, Ubuntu cloud image kullanarak Proxmox üzerinde adım adım cloud-init şablonu oluşturmayı anlatıyorum.
Cloud-Init Nedir?
Cloud-init, sanal makinelerin ilk açılışında otomatik yapılandırma yapılmasını sağlayan bir araçtır. IP adresi, kullanıcı, SSH anahtarı gibi ayarları otomatik olarak tanımlamanıza imkan verir.
1. Cloud-Init Kurulumu
Cloud-init kullanabilmek için, oluşturacağınız sanal makinede bu paketin kurulu olması gerekir. Çoğu Linux dağıtımının cloud imajlarında hazır olarak gelir. Eğer kurulu değilse aşağıdaki komutla yükleyebilirsiniz:
apt install cloud-init -y
2. Ubuntu Cloud Image İndirme
Bu örnekte Ubuntu’nun resmi cloud imajını kullanıyoruz. Güncel imajlara aşağıdaki adresten ulaşabilirsiniz:
👉 https://cloud-images.ubuntu.com/noble/
Proxmox sunucunuza SSH ile bağlanarak imajı indirin:
wget https://cloud-images.ubuntu.com/noble/20260323/noble-server-cloudimg-amd64.img
3. Proxmox Sanal Makine Oluşturma
Öncelikle boş bir sanal makine oluşturuyoruz:
qm create 9000 --name "ubuntu-noble" --memory 2048 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci
Not:
virtio-scsi-pciseçimi, özellikle Terraform ile clone işlemlerinde oluşabilecekunused diskhatalarının önüne geçmek için önerilir.
4. Cloud Image’ı VM’e Import Etme
İndirdiğimiz imajı oluşturduğumuz sanal makineye ekleyelim:
qm set 9000 --scsi0 local-lvm:0,import-from=/root/noble-server-cloudimg-amd64.img
5. Cloud-Init Diski Ekleme
Cloud-init ayarlarını yapabilmek için gerekli diski ekliyoruz:
qm set 9000 --ide2 local-lvm:cloudinit
6. Boot Ayarını Yapılandırma
Sanal makinenin hangi diskten boot edeceğini belirleyelim:
qm set 9000 --boot order=scsi0
7. Template (Şablon) Oluşturma
Sanal makineyi template haline getiriyoruz:
qm template 9000
8. Template’ten Clone Oluşturma
Artık bu template üzerinden yeni sanal makineler oluşturabilirsiniz:
qm clone 9000 7000 --name WEBSERVER-1
9. Cloud-Init Ayarları (IP, SSH, Kullanıcı)
Clone edilen sanal makine için gerekli ayarları yapalım:
SSH Key Tanımlama
qm set 7000 --sshkey ~/.ssh/id_rsa.pub
IP Adresi Tanımlama
qm set 7000 --ipconfig0 ip=10.0.10.123/24,gw=10.0.10.1
DNS Tanımlama
qm set 7000 --nameserver 10.0.10.1
Kullanıcı ve Şifre Tanımlama
qm set 7000 --ciuser ramazan
qm set 7000 --cipassword
Not: Şifreyi doğrudan komut içinde açık şekilde veremezsiniz. Komutu çalıştırdıktan sonra terminal üzerinden güvenli şekilde girmeniz gerekir.
Sonuç
Bu adımları tamamladıktan sonra, Proxmox üzerinde hızlı bir şekilde çoğaltılabilir ve otomatik yapılandırılabilir sanal makineler oluşturabilirsiniz. Özellikle Terraform, Ansible gibi araçlarla birlikte kullanıldığında altyapı yönetimini oldukça kolaylaştırır.