Başlangıç > VMware > 231: VIC-engine ve Virtual Container Host kurulumu

231: VIC-engine ve Virtual Container Host kurulumu

Şu ana kadar genel olarak VIC (vSphere Integrated Containers) stratevic0jisinden ve özel bir registry hizmeti veren Harbor uygulamasından bahsettik. Şimdi ise işin asıl gerçekleştiği katmandan yani VICE (VIC-Engine) katmanından bahsedelim.

VICE, vSphere özelinde oluşturulmuş bir konteyner çalıştırma platformudur, yazılım geliştiriciler aşina oldukları docker komutları ile konteyner oluşturma ve paketleme yapabilir ve vSphere platformu üzerinde çalıştırabilirler. Bu yapının getirdiği en büyük avantaj, vSphere ortamının sahip olduğu HA, DRS, yedekleme, izleme, izolasyon, güvenlik gibi özellikleri doğal olarak bünyesinde barındırmasıdır. Bunun ile beraber sistem yöneticileri de, yine aşina oldukları yöntemler ile sanal sunucu içerisine 1:1 oranında konumlandırılmış bu konteynerleri yönetebilir ve izleyebilirler. Daha teknik bir ifade ile tanımlamak gerekirse, docker API’ları ile vSphere API’ları arasında bir köprü görevi görür.

VIC modülünü vSphere 6.0 veya 6.5 üzerine kurabilirsiniz. Ortam bileşenlerinden kısaca bahsetmek gerekirse;

VIC-Machine: Oluşturacağımız Virtual Container Host (VCH)’ların yaşam döngülerini yöneteceğimiz aracın adıdır. Bu Windows, Linux veya MacOS bir makine olabilir. My Vmware üzerinden indireceğiniz paketi istediğiniz platformda açabilir ve komut satırından çalıştırabilirsiniz.

Virtual Container Host: VCH, docker çalıştıran bir linux sunucunun vSphere karşılığıdır, tabi bir takım farklar ile. Öncelikle linux tabanlı bir docker host, linux sunucunun kaynakları ile sınırlı iken, VCH, vSphere cluster veya resource pool kaynakları ile sınırlıdır, vSphere karşılığı ise vApp’dir. Kendisini vApp olarak konumlandırdığından dolayı da, kaynaklarını istediğimiz gibi şekillendirebiliriz. Bir küme veya resource pool içerisinde birden fazla VCH kurabiliriz, aynı geleneksel yöntemde birden fazla linux docker host kurabileceğimiz gibi ve konteynerlerin cluster yönetimi de bu sayede vSphere tarafından yapılır.

VCH Endpoint VM: vApp veya resource pool içerisinde çalışan bir sanal sunucudur ve her bir VCH için bir tane yaratılır. Temel görevi, docker remote API noktası olmasıdır. Kendisine gelen docker API komutlarını vSphere API komutlarına çevirir ve bu sayede konteynerlerin yaşam döngülerinin yönetilmesini sağlar. Kendi üzerinde konteyner barındırmaz. Üzerinde Port Layer adı verilen özel bir katman barındırır ve aslında bütün sihiri bu katman gerçekleştirir. VIC ortamına docker kimliğini kazandıran da bu port layer katmanıdır. Daha teknik açıdan baktığımızda, docker’ın libcontainer katmanına benzer bir görev yapar, dolayısı ile ileride farklı kimliklerin de desteklenmesini bekleyebiliriz.

Container VMs: VIC-engine tarafından oluşturulmuş ve içerisinde sadece tek bir konteyner çalıştıran, işletim sistemi PhotonOS olan minimal sanal sunuculardır. İndirdiğimiz VIC klasörü içerisinde yer alan bootstrap.iso ile PhotonOS’in mini versiyonu başlatılır, üzerine ilgili docker imajı gönderilir ve konteyner bu imajdan ayağa kaldırılır. Tüm bu işlem birkaç saniye içerisinde tamamlanır.

vic1

VCH kurulumunu gerçekleştirmek için, My VMware üzerinden paketi indirip, uygun bir sistem üzerinde açmamız gerekir. Bu paketin içeriği aşağıdaki gibi olacaktır.


root@demophoton [ ~/vic ]# ls -lh
total 377M
-rw-r----- 1 root root 205K Dec 3 19:29 LICENSE
-rw-r----- 1 root root 57 Dec 3 19:29 README
drwxr-x--- 2 root root 4.0K Dec 29 11:37 VCH01
-rw-r----- 1 root root 122M Dec 3 19:30 appliance.iso
-rw-r----- 1 root root 63M Dec 3 19:30 bootstrap.iso
drwxr-x--- 5 root root 4.0K Dec 28 12:33 ui
-rw-r----- 1 root root 34M Dec 3 19:29 vic-machine-darwin
-rwxr-x--- 1 root root 34M Dec 3 19:29 vic-machine-linux
-rw-r----- 1 root root 34M Dec 3 19:29 vic-machine-windows.exe
-rw-r----- 1 root root 35K Jan 6 07:37 vic-machine.log
-rw-r----- 1 root root 31M Dec 3 19:29 vic-ui-darwin
-rwxr-x--- 1 root root 31M Dec 3 19:29 vic-ui-linux
-rw-r----- 1 root root 31M Dec 3 19:29 vic-ui-windows.exe

Burada farklı işletim sistemleri için kullanılması gereken çalıştırılabilir dosyaları görebiliriz. Ben vic-machine olarak PhotonOS tercih ettiğimden dolayı, linux etiketli komutları kullanacağım. Bu komut ile birlikte VCH yaratma, silme, listeleme, inceleme gibi işlemleri yapabiliriz.

Bir VCH yaratmak istediğimizde, VIC’in yapacağı şey bir vApp ve bu vApp içerisine VCH Endpoint VM oluşturmak olacaktır. Yukarıdaki dosyalar arasında yer alan appliance.iso VCH VM’i, bootstrap.iso ise konteyner sanal sunucularını ayağa kaldırmak için kullanılır.

Bir VCH yaratabilmek için, vic-machine-linux komutunu, çok fazla parametre ile birlikte çalıştırmamız gerekiyor. Bu parametre setleri içerisinde vSphere tanımları, güvenlik, network, disk, özel registry, ip havuzları, kaynak yönetimi gibi bir çok kategoride parametre bulunmaktadır. Parametrelerin tüm listesine buradan erişebilirsiniz. Kendi ortamımda örnek olarak kullandığım komut seti aşağıdaki gibi oldu;


./vic-machine-linux create \
--name=demovch01 \
--target=demovc.demo.local/DEMO.Datacenter \
--thumbprint="E6:C9:E2:6E:90:9D:DB:5B:48:AA:F6:F6:0E:5D:16:16:4E:52:32:D7" \
--user=orcunuso \
--compute-resource=DEMO.Cluster/DEMO.Vic \
--image-store=datastore1/demovch01 \
--volume-store=datastore1/demovch01:default \
--bridge-network=DPG.Vlan200 \
--public-network=DPG.Vlan100 \
--client-network=DPG.Vlan100 \
--management-network=DPG.Vlan100 \
--dns-server=10.1.94.10 \
--public-network-ip=10.1.93.24 \
--public-network-gateway=10.1.93.1/24 \
--bridge-network-range=172.16.0.0/12 \
--no-tls \
--registry-ca=/root/vic/ca.crt \
--appliance-cpu=2 \
--appliance-memory=4096

VCH kurulumu aşamasında karşılaşabileceğimiz hatalar:

  • İlk denemede 4 numaralı satırda yazılan, vCenter sunucusunun SSL sertifikasının parmak izini bilemiyor olabiliriz. Bunu öğrenmek için ilk komutu –thumbprint olmadan çalıştırıp, alınan hata içerisinden parmak izini öğrenebiliriz.
  • İlgili ESXi sunucularında dışarıya doğru TCP/2377 portunun açık olması gerekmektedir. Eğer değilse, kurulum devam etmeyecektir.

Kurulum parametrelerinde bir hatamız yok ise, uzun bir çıktı sonrasında VCH’ımız hazır hale gelecektir.

vic2

Burada bize 3 konuda nasihat vermiş görünüyor. Birincisi, VCH operasyonları için kurulumu yaptığımız kullanıcının haricinde bir kullanıcı oluşturmamızı ve –ops-user parametresi ile belirtmemiz gerektiğini söylüyor. İkincisi, –no-tls parametremize kızıyor ve güvensiz bağlantılar konusunda uyarıyor. Üçüncüsünde ise, konteyner ve volume’lerin barınacağı diskin paylaşımlı olmadığını ve diğer ESXi sunucuların erişemeyeceğini söylüyor. Bence üçünde de son derece haklı :))

vCenter tarafından da kontrol ettiğimizde, seçtiğimiz küme ve resource pool içerisinde bir adet vApp ve endpoint görevi görecek bir adet VM oluşturulduğunu görebiliriz.

vic3

Bir sonraki yazıda ise VCH üzerinde temel docker operasyonlarını nasıl yapabileceğimizi göreceğiz.

 

Kategoriler:VMware Etiketler:,
  1. Henüz yorum yapılmamış.
  1. 12.01.2017, 23:18

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: