Openshift Virtualization ile Openshift üzerinde Sanal Makinelerinizi(Windows-Linux) Çalıştırın

Container-native virtualization; Red Hat Openshift Container Platform üzerinde Sanal Makine iş yüklerinizi çalıştırmayı ve yönetmeyi olanak sağlayan bir özellik olarak Openshift 4.4 versiyonunda Tech Preview olarak yayınlandı.Böylece developer’lar aynı platform üzerinden VM, Container ve Serverless özelliklerinin hepsini kullanarak geliştirmeyi deneyimleyebilecekler.

Altyapısında Red Hat ‘in de contributor ve advocate olarak destek verdiği tamamıyla açık kaynak bir proje olan KubeVirt yer alıyor.KubeVirt geçen sene itibariyle CNCF Sandbox projesine dahil edildi.

Destek veren ilk 10 şirkete ise şöyle:

Openshift üzerinde Operator ile kolayca kurulumunu göstermeye çalışacağım.Fakat başlamadan önce worker node’larınız üzerinde nested-virtualization’ı açmanız gerekiyor.Ve aynı zamanda RWO destekleyen bir storage altyapınızın olması gerekiyor. Bunun için Openshift Container storage içerikli bir önceki makalemi okuyabilirsiniz.

Bir önceki adımı yaptıktan sonra openshift-cnv isminde bir proje yaratıyorum.

oc new-project openshift-cnv

Projemizi yarattıktan sonra OperatorHub sekmesinde search kısmına “Container-native Virtualization” yazıp karşıma çıkan Operator’ü kurmakla başlıyorum.

Karşıma çıkan pencerede Install butonuna basarak ilerliyorum.

Bir sonraki adımda daha önce yarattığım projeyi seçip diğer değerleri default bırakıp kurulumu tamamlıyorum.

Installed Operators kısmından Operator’un kurulduğunu kontrol ediyorum.

Operator’e Subscribe olduktan sonra Operator içerisinde Cloud-Native Virtualization Deployment’ı yaratacağım.

Create dediğimde karşıma çıkan pencereyi default olarak bırakıp create butonuna basıyorum.

Sonrasında yarattığı kaynakları görebilirim.

Kurulumu bitirmeden son bir adım olarak virtctl tool’unu yükleyeceğim.Virtctl sizin container-native virtualization kaynaklarını yönetmenizi sağlayan bir araç.Öncesinde ortamınıza bağlanmak için kullandığınız bastion makinenizde aşağıdaki repoları aktif hale getirmeniz gerekiyor.Sonrasında kubevirt-virtctl paketini yükleyebilirim.

  • Red Hat Enterprise Linux 8 repository: cnv-2.2-for-rhel-8-x86_64-rpms
  • Red Hat Enterprise Linux 7 repository: rhel-7-server-cnv-2.2-rpms
yum install kubevirt-virtctl

Artık sıra geldi Sanal makinelerimizi Openshift üzerinde nasıl çalıştırabiliriz konusuna :)

Öncesinde elinizde Linux yada Windows çalışmanızı sağlayacak image’lar olması gerekiyor.Ben bu makalede örnek olarak Windows Server 2012 R2 Standard ve Red Hat Enterprise Linux 7 kuracağım.

Qcow2 Windows image indirmek için alttaki linki kullanabilirsiniz.

Red Hat Enterprise Linux 7.7 için alttaki linki kullanabilirsiniz.

İndirdiğiniz Rhel image içerisinde kendi şifrenizi belirlemeniz için alttaki adımı uygulamanız gerekiyor.

İndirdiğim image’ları daha önceden ortamımda bulunan http ortamıma taşıyorum.

Bu image ları kullanarak makinelerimi ayağa kaldırmak için 2 adet PVC yaratacağım.

PVC isteğimi yarattıktan sonra gördüğünüz üzere 1 adet pod ayağa kalkıp benim linkini verdiğim image’ı içerde yaratılan PVC içine import ediyor.

Loglarını görmeniz için bir örnek bırakıyorum.

Görüldüğü üzere işi bittikten sonra siliniyor.

Bu işlem Windows için istek yaptığınız PVC içinde geçerli.Bu işlem sonrasında ortamımda 2 adet içine OS image’larının import edildiği Persistent Volume var.

Siz bu bölümü virtctl komutu ile de yapabilirsiniz.Örnek olarak komutu aşağıda paylaşıyorum.

virtctl image-upload --pvc-name=upload-pvc --pvc-size=10Gi --image-path=/images/fedora28.qcow2

Şimdi bu volume’leri kullanarak 2 adet Sanal Makine yaratacağım.

İlgili projemde Virtual Machines tabına geliyorum.

Wizard’ı kullanarak yeni bir sanal makine yaratacağım.

General tab’ında seçenekleri kendime göre özelleştiriyorum.

Source sekmesinde seçebileceğim birden fazla seçenek var.

  • PXE
  • Container
  • URL
  • Disk

Networking tabında Pod Network’u kullanacağım.

Storage tabına geldiğimde bir önceki adımda yarattığım Disk’leri seçmek gerekiyor. Add Disk butonuna tıklıyorum.

Son durumda diskim seçilmiş durumda gözüküyor.

Advance tabında hostumu kurulum sonrasında özelleştirebilmem için bazı seçenekler sunuyor.İsterseniz hostname i ilk kurulumda tamamlayabilirsiniz.

Review tabında genel bir özet sunuyor.

Bu adımları Windows içinde gerçekleştirdikten sonra Virtual Machine tabına geldiğimde Sanal Makinelerimi görebiliyorum.

Bu arayüz üzerinden makinelerimin Start ,Stop ,Migrate ve Clone işlemlerini yapabilirim.

Bu çıktıyı komut satırından görmek istersiniz:

Aynı zamanda virtctl komutu ile de komut satırı üzerinden makine operasyonlarını yapabilirim.

Şimdi arayüz üzerinden Console alalım isterseniz:

--

--