Proxmox üzerinde cloud-init ile Ubuntu 22.04 template oluşturma

Proxmox üzerinde cloud-init desteği mevcuttur. Cloud-init yapısını vm tarafında etkinleştirdiğinizde sunucunun bütün ayarlarını kullanıcı adı, şifre, ssh key, dns server ve ip ayarlamalarını sanal makinayı dahi açmadan gerçekleştirebilirsiniz.

Bu yazımızda birden fazla vm oluşturma sırasında oluşan zaman kaybının önüne geçebilmek için ubuntu tabanlı template oluşturacağız ve bu template e cloud-init i entegre edeceğiz. Bu sayede hızlıca vm leri klonelayıp sonrasında çalışmaya hazır hale getirebileceğiz.

Öncelikle image ubuntu image dosyasını indirmemiz gerekiyor 2 şekilde de yapabiliriz biri direkt olarak proxmox console a girip wget ile dosyayı çekmek yada local içindeki “ISO images” dan linki yapıştırıp proxmox un dosyayı çekmesini sağlayabiliriz. Ben iso dosyasının proxmox tarafından çekilmiş olduğunu varsayarak işlemlerimi yapacağım.

Image dosyası olarakta Ubuntu’nun 22.04 imageını kullanacağım bunun linki ise: https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

Diğer versiyonlarını kurmak istiyorsanızda bu adresten ulaşabilirsiniz: https://cloud-images.ubuntu.com

Öncelikle web arayüzünden console a girelim.

Öncelikle VM imizi oluşturalım bunun için 2gb ram 2 core işlemci yeterli nasıl olsa template makinamızı hiç açmayacağız net0 tarafında ise ethernet kartımızı tanımlıyoruz ve bridge modda kullanıyoruz.

qm create 8000 --memory 2048 --core 2 --name ubuntu-cloud --net0 virtio,bridge=vmbr0

Sonrasında indirmiş olduğumuz image ı local-lvm deki diskimize import ediyoruz ki yukarıda oluşturduğumuz vm e bağlayabilelim. Bu işlem biraz uzun sürebilir sunucu donanımınıza bağlı olarak değişlik gösterebilir 10 saniye ile 1-2 dk arası bir süre de tamamlanır. Dipnot: local-lvm standartta gelen disk alanıdır siz başka bir diskinize kurmak istiyorsanız bunun adını yazmanız gerekmektedir.

qm importdisk 8000 /var/lib/vz/template/iso/jammy-server-cloudimg-amd64.img local-lvm

Sonrasında bu oluşturduğumuz disk alanını önceden oluşturduğumuz vm imize scsi controllerla bağlıyoruz.

qm set 8000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-8000-disk-0

Sonrasında ise cloud-init alanımızı oluşturuyoruz.

qm set 8000 --ide2 local-lvm:cloudinit

Ve son olarak da boot diskimizi tanımlıyoruz hangi controllerdan boot edecek vm.

qm set 8000 --boot c --bootdisk scsi0

Bu işlemlerin ardından oluşturmuş olduğumuz 8000 id li vm imize tıklayıp çalıştırmadan. Cloud-init sekmesine girip gerekli ön ayarlamaları yapıyoruz. İşlem bittikten sonra “Regenerate Image” butonuna basmayı unutmayalım. Aşağıda örnek ayarlamaların yapılmış halini görebilirsiniz.

İşlerimiz bittiğine göre arttık bu vm i template haline getirebiliriz. 2 şekilde template haline dönüştürebiliyoruz. Birincisi seçeneğimiz vm imize sağ tıklayıp “Convert to template” diyebiliriz. ikinci seçenek ise aşağıda yazdığım komut ile console üzerinden hızlıca template vm haline getirebilirsiniz.

qm template 8000

Bu işlemler sonucunda artık vm imizin görüntüsü değişmiş ve template haline gelmiş bulunmaktadır. Aşağıda bu template ile nasıl yeni vmler oluşturabileceğimizide göstereceğim.

Bu bölümde önemli olan şeylerden biri “Mode” dur burasını kesinlikle “Full Clone” olarak seçmeniz lazım ki vm üzerinde yapacağınız değişiklikler diğer vm leri ve vm template i etkilemesin. Target storage da ise hangi diskimize kopya vm kurulsun onu seçiyoruz.

Kısa bir süre içinde yine donanımınıza bağlı olarak sürenin değişebileceğini unutmayın yeni vm oluşturulmuş olacaktır. Bundan sonra yeni oluşan vm inizin Hardware kısmına giderek RAM, işlemci sayısı, gibi bileşenleri düzenlemeniz kalıyor. Önemli not: vm template den oluşturulduğu için 2gb alana sahiptir “Hard Disk” alanına tıklayıp “Disk Action” sekmesinden “Resize” a tıklamanız gerekiyor. Buradaki kutucuğa GB cinsinden rakam yazmanız lazım tabi buradaki yazdığınız rakam kadar büyümez yazdığınız rakam sisteme eklenir misal olarak 100 yazarsanız toplam disk alanı 102GB olacaktır.

Bundan sonra sonra Cloud-Init sekmesine geliyoruz ve buradan dns sunucusunu ayarlama kullanıcı adı şifre belirleme yada ssh public key ekleme ve ip ayarlarını yapabilirsiniz.

Bu işlemler sonunda VM inizi start edebilirsiniz. Ve clone yaparak bundan sonra birden çok ubuntu makinayı hızlıca ayağa kaldırmış olursunuz.

Umarım açıklayıcı bir yazı olmuştur anlaşılmayan veya hata alınması durumunda lütfen aşağıdaki yorum bölümünü kullanarak soru sorabilirsiniz. Herkese iyi günler dilerim.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir