© 2016 VMware Inc. All rights reserved.
vSphere Entegre Konteyner Yapıları
Vahric Muhtaryan
@vahric_M
@vmugtr
Sunum İçeriği
• Container Nedir ?
• Containerlar yeni bir kavram mı ?
• Container runtime nedir ?
• Containerlarda paketlemenin önemi nedir ?
• Docker , Dockerfile , Dockercompose nedir ?
• Yazılımcılar neden Docker’ı seviyor ?
• Photon OS Nedir ?
• Lightwave Nedir ?
• Sıkca sorulan sorular ?
• Yazılım Dünyası ve Mikroservisler
• Vmware size containerlar hakkında nasıl yardımcı olabilir ?
• VIC
• Harbor
• Photon Controller
2
Container Nedir ?
3
Yüzeysel Bakacak Olursak
• Ulaşabileceğimiz bir shell’i olan (SSH veya başka bir yolla)
• VM’e benzer yönleriyle
–Üzerinde izole process çalıştırabileceğim
–Kendi network arabirimleri olan (eth0,eth1)
–Root veya Administrator olarak çalışabileceğim
–Üzerinde uygulama/paket kurabileceğim ( apt-get / yum)
–Servis çalıştırabileceğim (Apache,Nginx,Tomcat)
–Kendi firewall’u (iptables) ve routing tablosu olan
Şu ana kadar kullanmakta olduğumuz VM’ler ile aynı özellikleri taşıyan
4
Derinlemesine Baktığımızda
• Bazı yönleriyle VM’e benzetemeyeceğimiz
– Sunucuya ait tek bir çekirdeği olan (Linux veya Windows)
– Boot etmeyen !!
– Aslında kendisi sadece bir dizi process’den oluşmuş, üzerinde koştuğu fiziksel veya sanal
makinelerde bir process’e benzeyen (w3wp.exe, mysqld, java)
– Bir isletim sisteminde olmasi gereken belki bir sürü bileşenden mahrum, sadece çalıstırmak
istediğiniz process’e göre uyarlanmış / paketlenmiş bir tip şablon (ssh yok crond yok apache
var php var mysql var)
– Katmanlı , tekrar tekrar kullanılabilir
– Statik , imajı değtirmektense, üzerine eklenti yapılabilen (Git gibi, Versionlama gibi)
– Kısa veya uzun ömürlü olarak tasarlanabilen
– İşi bittiginde üzerindeki verininde yok olacağı
– Aynı zamanda volume denen kalıcı bilgininde saklanabilecegi
– Veya data containerlar yaratılarak diğer containerlara veri saglayabileceği bir yapıya sahip
5
Hypervisor ve Container Yapılarına Resimsel Baktığımızda
6
Vmware Tarafından Baktığımızda
• VMDK yok
• Datastore / Clustered Datastore yok
• vDS yok
• vCenter yok
• DRS yok
• vMotion yok
• FT yok
• Hicbir Software Defined bilesen yok
7
Peki Container Yeni Bir Kavram Mi ?
• OpenVZ - Yil 2005
– Linux
– Checkpoint/Backup/Restore/live Migration
• Virtuozzo (Ticari)
– Linux
– Windows
• Jails
– FreeBSD - Yil 2000
• Zones
– Solaris Containers – Yil 2004
• LXC (2008)
• LXD Ubuntu ile beraber …
8
Container Runtime Nedir ?
Container Runtime = API / Abstraction of low level technical details
• Docker
• Garden
• Rkt
• runC
• Warden
• Bonneville (Container on the hypervisor) Vmware Project
9
Paketleme
• Container’larin bize getirdiği en güzel özellik ihtiyacınız olan tüm ortamı bir yaml dosyası
formatında tanımlayıp, ayağa kaldırabiliyor olmamız (vApp Template ile benzerlik tam olmasada
düşünülebilir)
• Paketlediğiniz ortamı herhangi bir yerde çalıştırabiliyor olmanız
• Tek yapmamız gereken eğer Docker kullanıyorsanız yarattığınız paketleri Docker Hub‘a atmak
ve buradan çekip çalıstırmak
• Docker Hub = Registry = Linux Repo = Klasör = Ortak Erişilebilir Alan
• Ardından Docker kurulu bir host’a ilgili paketleri çekip çalıştırmanız yeterli
• Paket içerisinde tüm binary bagımlılıklarını , ortam değişkenlerini , volume ve hatta network
konfigrasyonlarını içermekte
• Bu paketleme formatına imaj demeye başlıyoruz
• Eğer Docker kullanıyor isek buna Docker Image demeye başlıyoruz
10
Docker Container Runtime
11
Docker HUB (Public) https://store.docker.com/
12
Docker HUB (Public) https://hub.docker.com
13
Örnek Dockerfile
• FROM ubuntu:latest
• MAINTAINER vahric ”vahric@gmail.com"
• RUN apt-get update -y
• RUN apt-get install -y python-pip python-dev build-essential
• COPY . /app
• WORKDIR /app
• RUN pip install -r requirements.txt
• ENTRYPOINT ["python"]
• CMD ["app.py"]
• EXPOSE 80
14
Örnek Docker Compose Dosyası
• web:
• image: wordpress
• links:
• - mysql
• environment:
• - WORDPRESS_DB_PASSWORD=password
• ports:
• - "127.0.0.3:8080:80"
• mysql:
• image: mysql:5.7
• environment:
• - MYSQL_ROOT_PASSWORD=password
• - MYSQL_DATABASE=wordpress
15
Neden Yazılımcılar Docker’ı Seviyor
BUILD - SHIP - RUN
16
Container İçin Yeni İşletim Sistemleri
“Minimalist OS” (Just Enough OS)
• Konu Container olunca , container’ların üzerinde çalıştığı işletim sistemleride değişmeye
başladı. Yeni yaklaşım artık Minimalist OS / Just Enough OS
• En önemli amaçları olabildiğince hızlı açılabilmek ve az güncellemeye sahip olabilmek.
• Görevleri Docker, Rocket runtime’larini çalıstırmak, altyapıyı basitleştirmek, güvenliği ve
sağlamliği artırmak.
• Örneklerine gelince CoreOS (Agustos 2013) , Project Atomic (Nisan 2014) , Ubuntu Core
(December 2014) , RancherOS , VMware Photon OS ve yeni yeni aramıza katılan
Windows Nano Servers.
17
Vmware Project Photon OS
18
Vmware Project Photon OS
• Acik kaynak kodlu
• Photon OS = Linux Container Host
• Lightweigth 300 MB Linux OS (Full Versionu)
• vSphere için optimize edilmiş
• Docker, Rocket, Garden runtime’larini destekleyen
• Yum paket yöneticisi uyumlu
• rpm-ostree (image based versioning)
• VMware Fusion, Workstation, Vagrant gibi test ortamlarında
• vSphere, vCloud Air, Google Cloud Engine, Amazon Elastic Cloud Compute gibi production
ortamlarında çalışabilen bir işletim sistemi
19
Neden VMware Photon OS’u yarattı ?
• Vmware’in müşterileri için sağladığı tüm çözümlerinin (güvenlik,dogrulama,kaynak
yönetimi,storage,networking) containerized workload’lara uygulamak istemesiyle yaratıldı.
• Çünkü Container dünyasinda arayıs devam ediyor ve hergün yeni bir bakıs acısı yeni bir çözüm
ortaya çıkıyor
• Tek bir altyapı üzerine geleneksel (VM) ve cloud-native-app (containerized) gereksinimlerini
karşılamak bunu yaparkende var olan çizgisini korumak, yani aynı VMleri nasil monitor
ediyorsanız ,nasil migrate ediyorsanız , nasıl yedek alıyorsanız aynı şekilde yeni birşey
ögrenmeye gerek olmadan, yeni yükleri yönetebilmeniz icin yaratıldı.
Başlamak İçin ;
• Web Adresi : https://vmware.github.io/photon/
• İndirme Adresi : https://github.com/vmware/photon/wiki/Downloading-Photon-OS
• Dökümantasyon : https://github.com/vmware/photon/blob/master/docs/photon-admin-guide.md
20
Vmware Project Lightwave
21
Vmware Project Lightwave
• Acik kaynak kodlu , Enterprise düzeyinde doğrulama ve erişim yönetimi saglar.
• Multi-Tenant , yatayda büyüyebilen , multi-master replication model destekleyen
• Directory Service, Certification Authority , Store ve Authentication Servislerden
olusur. (Platform Service Controller)
• Photon ile beraber kullanıldığında izin verilmiş container’ların izin verilmiş
host’larda ve izin verilmiş kişiler tarafından kullanılmasını sağlar.
Başlamak İçin ;
• Web Adresi : https://vmware.github.io/lightwave/
• İndirme Adresi : https://github.com/vmware/lightwave/blob/master/README.md
• Dökümantasyon : https://github.com/vmware/lightwave/wiki
22
Sıkça Sorulan Sorular ?
• Neden Container’a ihtiyacım var ?
• Container kullanmak isteyen kim ?
• Container hangi problemleri çözecek ?
• Hangi yeni problemleri beraberinde getirecek ?
• Var olan ortamimda container calistirabilecekmiyim ?
• Yoksa container çalistirmak için yeni şeyler mi ögrenmeliyim ?
• Problem ne ?
• vSphere admin olarak benim yapmam gereken sey ne ?
23
Degisen Yazilim Dunyasi mi?
Is Dunyasi mi ? Is Yapis Seklimiz mi ?
• Hepsi !
– Tum yazılımcılar artık daha hızlı sürüm cıkmak istiyorlar
– Yeni sürüm yarattiklarinda bunu hemen production’a kurmak istiyorlar
– Gerektiginde hizlica ve otomatik büyümek, gerektiginde kücülmek istiyorlar
– Yeni tekniklerle geliştirme yapmak istiyorlar (WaterfallAgile)
– Tek bir yazılım dili yerine birden fazla yazılım dilini kullanmak istiyorlar
– Servisleri aralarında API lerle konuşturmak istiyorlar
– Microservice’lere geçmek istiyorlar
– Nasil veri tabanarını kod olarak yazbiliyorlar ise alt yapıyıda kod ile oluşturmak istiyorlar
– Bunları yaparkende operasyon ekiplerine gereksinimi azaltmak istiyorlar
– Kendi ortamlarinda geliştirdikleri kodun , production ortamındada aynı şekilde suprizsiz
çalısmasını istiyorlar
24
Monolitik servislerden MikroServislere
25
vSphere Adminler için problem
26
Vmware Bügün Size Nasıl Yardımcı Olabilir ?
27
vSphere Integrated Containers(VIC)
• VIC iki ana bileşenden oluşur
– vSphere Integrated Containers Engine
• Docker runtime’in vSphere enterprise özellikleri ile harmanlandigi nokta ( Clustering, DRS ve
Diğer özellikler )
– vSphere Integrated Containers Registry
• Docker Image Registry’e RBAC + Replication ozellikleri ile gelistirilmis hali
– Acık kaynak kodlu, bugün indirin ve çalıstırın
– Community Support
– vSphere Enterprise Plus lisansi olanlar icin Vmware tarafindan direkt destek
– Artik Linux VM’ler yaratip icersinde container calistirmaya gerek yok ! Her bir container bir VM
(Photon OS)
28
VIC vSphare Adminlere Ne Sağlıyor ?
• vSphere admin kullaniciya container yaratabilmesi , silebilmesi ve diger islemler icin bir
endpoint, bir servis sagliyor (Buna VCH Endpoint VM deniyor)
• Hem var olan VM’leri hemde ContainerlarI tek bir arabirim üzerinden yönetmeye , izlemeye
devam ediyor , farkli uygulamalar ögrenmek veya kullanmak zorunda kalmıyorsunuz (!!)
• vSphere = Container Host/Infra/Control Plane
– Tum Container’lar artik bir VM olarak kuruluyor (Buna Container VM deniyor)
– Tum Container’lar %100 izole
– Tenant bazli dinamik kaynak limitasyonu (Buna VCH Virtual Container Host deniyor)
– vSphere uzerinden yarattiginiz networkleri containerlar icin kullanabileme
– Containerlari icin disk alani olarak VMFS kullanabilme
– Dogal araclarla kendine atanan alani yonetebilme (Docker Client)
– Sadece IAAS değil servis saglayabileme imkanı sağlamakta
• VIC vSphere üzerinde en hızlı ve kolay şekilde Linux tabanli yükleri provizyon edilebilmek için
yaratılmıstır
29
VIC + vCenter
30
VIC’den Once
• Kullanici sizden “Docker” kurulu bir VM istiyordu
• Muhtemelen ne kadar ram/disk/cpu istediği belli değil veya belli diye düşünelim

• vSphere admin VM yaratıp, işletim sistemi kurup , güvenlik yamalarını yapıp en
son Docker uygulamasını kurup , ip adresi ile beraber kullanıcıya geri
dönüyordu
• Problem ?
– Disk alanı yetmez ise ?
– Ram yetmez ise ?
– Ekstra başka Docker kurulu VM gereksinimleri doğmuş ise ?
31
VIC’den Once
32
VIC’den Sonra
• Kullanıcı sizden “Docker” kurulu bir VM istiyordu
• vSphere admin ihtiyaç duyulan disk,network ve kaynak gereksinimini belirledikten veya aldıktan
sonra
• vSphere admin “vic-machine” uygulaması ile ufak/otomatik bir appliance kuruyor ve bu
appliance sayesinde kullanıcı doğrulanmış şekilde kendi başına container yaratmaya başliyor
• İlgili appliance üzerinde remote Docker API çalışmakta ve kullanıcı tüm işlemleri için bu
endpoint’e erişiyor
• Böylelikle kullanıcıya bir Linux VM vermektense kendi kendisini yönetebileceği bir arabirim
vermeye basliyorsunuz
33
VIC’den Sonra
34
VIC ile Beraber VM Container ve Bildiğiniz Tüm vSphere
Özellikleri Bir Yerde Görülür ve İzlenebilir Oluyor
35
Örnek VIC ile VCH Yaratma – VIC Binaries
36
Örnek VIC ile VCH Yaratma – vCenter Görünümü
37
Örnek VIC ile VCH Yaratma
38
Örnek VIC ile VCH Yaratma
39
Örnek VIC ile VCH Yaratma – Endpoint Appliance
40
Örnek VIC ile VCH Yaratma – İlk Container
41
Örnek VIC ile VCH Yaratma – İlk Container vCenter Üzerinden Görme
42
VIC Limitasyonlar, Desteklemediği Özellikler
• VIC gerlistirmesi devam eden bir ürün
• Limitasyonları
– Container Vmler sadece root kullanıcı destekliyor
• Desteklenmeyen Özellikler
– Registry’e push etme
– Containerlar arasında data volume paylaştırma
– Localhost üzerindeki bir klasör veya dosyayı container’a mount etme
– Docker build
– Tüm limitasyon ve desteklenmeyen özellikler için : https://vmware.github.io/vic-
product/assets/files/html/0.8/vic_app_dev/container_limitations.html
– VIC Download İçin : https://bintray.com/vmware/vic/Download
– VIC Dökümantasyon : https://vmware.github.io/vic-product/index.html#getting-started
43
Private Registry Harbor
44
Başka bir Platform – Photon Controller
45
46
47
48
49
SORULAR ?
Ödül İçin Sorular ?
1. VCH Nedir ?
2. Harbor Nedir ?
3. Photon Controller’ın VIC’den farkı nedir ?
51
Teşekkürler ve İyi Seneler
52

vSphere Integrated Containers

  • 1.
    © 2016 VMwareInc. All rights reserved. vSphere Entegre Konteyner Yapıları Vahric Muhtaryan @vahric_M @vmugtr
  • 2.
    Sunum İçeriği • ContainerNedir ? • Containerlar yeni bir kavram mı ? • Container runtime nedir ? • Containerlarda paketlemenin önemi nedir ? • Docker , Dockerfile , Dockercompose nedir ? • Yazılımcılar neden Docker’ı seviyor ? • Photon OS Nedir ? • Lightwave Nedir ? • Sıkca sorulan sorular ? • Yazılım Dünyası ve Mikroservisler • Vmware size containerlar hakkında nasıl yardımcı olabilir ? • VIC • Harbor • Photon Controller 2
  • 3.
  • 4.
    Yüzeysel Bakacak Olursak •Ulaşabileceğimiz bir shell’i olan (SSH veya başka bir yolla) • VM’e benzer yönleriyle –Üzerinde izole process çalıştırabileceğim –Kendi network arabirimleri olan (eth0,eth1) –Root veya Administrator olarak çalışabileceğim –Üzerinde uygulama/paket kurabileceğim ( apt-get / yum) –Servis çalıştırabileceğim (Apache,Nginx,Tomcat) –Kendi firewall’u (iptables) ve routing tablosu olan Şu ana kadar kullanmakta olduğumuz VM’ler ile aynı özellikleri taşıyan 4
  • 5.
    Derinlemesine Baktığımızda • Bazıyönleriyle VM’e benzetemeyeceğimiz – Sunucuya ait tek bir çekirdeği olan (Linux veya Windows) – Boot etmeyen !! – Aslında kendisi sadece bir dizi process’den oluşmuş, üzerinde koştuğu fiziksel veya sanal makinelerde bir process’e benzeyen (w3wp.exe, mysqld, java) – Bir isletim sisteminde olmasi gereken belki bir sürü bileşenden mahrum, sadece çalıstırmak istediğiniz process’e göre uyarlanmış / paketlenmiş bir tip şablon (ssh yok crond yok apache var php var mysql var) – Katmanlı , tekrar tekrar kullanılabilir – Statik , imajı değtirmektense, üzerine eklenti yapılabilen (Git gibi, Versionlama gibi) – Kısa veya uzun ömürlü olarak tasarlanabilen – İşi bittiginde üzerindeki verininde yok olacağı – Aynı zamanda volume denen kalıcı bilgininde saklanabilecegi – Veya data containerlar yaratılarak diğer containerlara veri saglayabileceği bir yapıya sahip 5
  • 6.
    Hypervisor ve ContainerYapılarına Resimsel Baktığımızda 6
  • 7.
    Vmware Tarafından Baktığımızda •VMDK yok • Datastore / Clustered Datastore yok • vDS yok • vCenter yok • DRS yok • vMotion yok • FT yok • Hicbir Software Defined bilesen yok 7
  • 8.
    Peki Container YeniBir Kavram Mi ? • OpenVZ - Yil 2005 – Linux – Checkpoint/Backup/Restore/live Migration • Virtuozzo (Ticari) – Linux – Windows • Jails – FreeBSD - Yil 2000 • Zones – Solaris Containers – Yil 2004 • LXC (2008) • LXD Ubuntu ile beraber … 8
  • 9.
    Container Runtime Nedir? Container Runtime = API / Abstraction of low level technical details • Docker • Garden • Rkt • runC • Warden • Bonneville (Container on the hypervisor) Vmware Project 9
  • 10.
    Paketleme • Container’larin bizegetirdiği en güzel özellik ihtiyacınız olan tüm ortamı bir yaml dosyası formatında tanımlayıp, ayağa kaldırabiliyor olmamız (vApp Template ile benzerlik tam olmasada düşünülebilir) • Paketlediğiniz ortamı herhangi bir yerde çalıştırabiliyor olmanız • Tek yapmamız gereken eğer Docker kullanıyorsanız yarattığınız paketleri Docker Hub‘a atmak ve buradan çekip çalıstırmak • Docker Hub = Registry = Linux Repo = Klasör = Ortak Erişilebilir Alan • Ardından Docker kurulu bir host’a ilgili paketleri çekip çalıştırmanız yeterli • Paket içerisinde tüm binary bagımlılıklarını , ortam değişkenlerini , volume ve hatta network konfigrasyonlarını içermekte • Bu paketleme formatına imaj demeye başlıyoruz • Eğer Docker kullanıyor isek buna Docker Image demeye başlıyoruz 10
  • 11.
  • 12.
    Docker HUB (Public)https://store.docker.com/ 12
  • 13.
    Docker HUB (Public)https://hub.docker.com 13
  • 14.
    Örnek Dockerfile • FROMubuntu:latest • MAINTAINER vahric ”vahric@gmail.com" • RUN apt-get update -y • RUN apt-get install -y python-pip python-dev build-essential • COPY . /app • WORKDIR /app • RUN pip install -r requirements.txt • ENTRYPOINT ["python"] • CMD ["app.py"] • EXPOSE 80 14
  • 15.
    Örnek Docker ComposeDosyası • web: • image: wordpress • links: • - mysql • environment: • - WORDPRESS_DB_PASSWORD=password • ports: • - "127.0.0.3:8080:80" • mysql: • image: mysql:5.7 • environment: • - MYSQL_ROOT_PASSWORD=password • - MYSQL_DATABASE=wordpress 15
  • 16.
    Neden Yazılımcılar Docker’ıSeviyor BUILD - SHIP - RUN 16
  • 17.
    Container İçin Yeniİşletim Sistemleri “Minimalist OS” (Just Enough OS) • Konu Container olunca , container’ların üzerinde çalıştığı işletim sistemleride değişmeye başladı. Yeni yaklaşım artık Minimalist OS / Just Enough OS • En önemli amaçları olabildiğince hızlı açılabilmek ve az güncellemeye sahip olabilmek. • Görevleri Docker, Rocket runtime’larini çalıstırmak, altyapıyı basitleştirmek, güvenliği ve sağlamliği artırmak. • Örneklerine gelince CoreOS (Agustos 2013) , Project Atomic (Nisan 2014) , Ubuntu Core (December 2014) , RancherOS , VMware Photon OS ve yeni yeni aramıza katılan Windows Nano Servers. 17
  • 18.
  • 19.
    Vmware Project PhotonOS • Acik kaynak kodlu • Photon OS = Linux Container Host • Lightweigth 300 MB Linux OS (Full Versionu) • vSphere için optimize edilmiş • Docker, Rocket, Garden runtime’larini destekleyen • Yum paket yöneticisi uyumlu • rpm-ostree (image based versioning) • VMware Fusion, Workstation, Vagrant gibi test ortamlarında • vSphere, vCloud Air, Google Cloud Engine, Amazon Elastic Cloud Compute gibi production ortamlarında çalışabilen bir işletim sistemi 19
  • 20.
    Neden VMware PhotonOS’u yarattı ? • Vmware’in müşterileri için sağladığı tüm çözümlerinin (güvenlik,dogrulama,kaynak yönetimi,storage,networking) containerized workload’lara uygulamak istemesiyle yaratıldı. • Çünkü Container dünyasinda arayıs devam ediyor ve hergün yeni bir bakıs acısı yeni bir çözüm ortaya çıkıyor • Tek bir altyapı üzerine geleneksel (VM) ve cloud-native-app (containerized) gereksinimlerini karşılamak bunu yaparkende var olan çizgisini korumak, yani aynı VMleri nasil monitor ediyorsanız ,nasil migrate ediyorsanız , nasıl yedek alıyorsanız aynı şekilde yeni birşey ögrenmeye gerek olmadan, yeni yükleri yönetebilmeniz icin yaratıldı. Başlamak İçin ; • Web Adresi : https://vmware.github.io/photon/ • İndirme Adresi : https://github.com/vmware/photon/wiki/Downloading-Photon-OS • Dökümantasyon : https://github.com/vmware/photon/blob/master/docs/photon-admin-guide.md 20
  • 21.
  • 22.
    Vmware Project Lightwave •Acik kaynak kodlu , Enterprise düzeyinde doğrulama ve erişim yönetimi saglar. • Multi-Tenant , yatayda büyüyebilen , multi-master replication model destekleyen • Directory Service, Certification Authority , Store ve Authentication Servislerden olusur. (Platform Service Controller) • Photon ile beraber kullanıldığında izin verilmiş container’ların izin verilmiş host’larda ve izin verilmiş kişiler tarafından kullanılmasını sağlar. Başlamak İçin ; • Web Adresi : https://vmware.github.io/lightwave/ • İndirme Adresi : https://github.com/vmware/lightwave/blob/master/README.md • Dökümantasyon : https://github.com/vmware/lightwave/wiki 22
  • 23.
    Sıkça Sorulan Sorular? • Neden Container’a ihtiyacım var ? • Container kullanmak isteyen kim ? • Container hangi problemleri çözecek ? • Hangi yeni problemleri beraberinde getirecek ? • Var olan ortamimda container calistirabilecekmiyim ? • Yoksa container çalistirmak için yeni şeyler mi ögrenmeliyim ? • Problem ne ? • vSphere admin olarak benim yapmam gereken sey ne ? 23
  • 24.
    Degisen Yazilim Dunyasimi? Is Dunyasi mi ? Is Yapis Seklimiz mi ? • Hepsi ! – Tum yazılımcılar artık daha hızlı sürüm cıkmak istiyorlar – Yeni sürüm yarattiklarinda bunu hemen production’a kurmak istiyorlar – Gerektiginde hizlica ve otomatik büyümek, gerektiginde kücülmek istiyorlar – Yeni tekniklerle geliştirme yapmak istiyorlar (WaterfallAgile) – Tek bir yazılım dili yerine birden fazla yazılım dilini kullanmak istiyorlar – Servisleri aralarında API lerle konuşturmak istiyorlar – Microservice’lere geçmek istiyorlar – Nasil veri tabanarını kod olarak yazbiliyorlar ise alt yapıyıda kod ile oluşturmak istiyorlar – Bunları yaparkende operasyon ekiplerine gereksinimi azaltmak istiyorlar – Kendi ortamlarinda geliştirdikleri kodun , production ortamındada aynı şekilde suprizsiz çalısmasını istiyorlar 24
  • 25.
  • 26.
  • 27.
    Vmware Bügün SizeNasıl Yardımcı Olabilir ? 27
  • 28.
    vSphere Integrated Containers(VIC) •VIC iki ana bileşenden oluşur – vSphere Integrated Containers Engine • Docker runtime’in vSphere enterprise özellikleri ile harmanlandigi nokta ( Clustering, DRS ve Diğer özellikler ) – vSphere Integrated Containers Registry • Docker Image Registry’e RBAC + Replication ozellikleri ile gelistirilmis hali – Acık kaynak kodlu, bugün indirin ve çalıstırın – Community Support – vSphere Enterprise Plus lisansi olanlar icin Vmware tarafindan direkt destek – Artik Linux VM’ler yaratip icersinde container calistirmaya gerek yok ! Her bir container bir VM (Photon OS) 28
  • 29.
    VIC vSphare AdminlereNe Sağlıyor ? • vSphere admin kullaniciya container yaratabilmesi , silebilmesi ve diger islemler icin bir endpoint, bir servis sagliyor (Buna VCH Endpoint VM deniyor) • Hem var olan VM’leri hemde ContainerlarI tek bir arabirim üzerinden yönetmeye , izlemeye devam ediyor , farkli uygulamalar ögrenmek veya kullanmak zorunda kalmıyorsunuz (!!) • vSphere = Container Host/Infra/Control Plane – Tum Container’lar artik bir VM olarak kuruluyor (Buna Container VM deniyor) – Tum Container’lar %100 izole – Tenant bazli dinamik kaynak limitasyonu (Buna VCH Virtual Container Host deniyor) – vSphere uzerinden yarattiginiz networkleri containerlar icin kullanabileme – Containerlari icin disk alani olarak VMFS kullanabilme – Dogal araclarla kendine atanan alani yonetebilme (Docker Client) – Sadece IAAS değil servis saglayabileme imkanı sağlamakta • VIC vSphere üzerinde en hızlı ve kolay şekilde Linux tabanli yükleri provizyon edilebilmek için yaratılmıstır 29
  • 30.
  • 31.
    VIC’den Once • Kullanicisizden “Docker” kurulu bir VM istiyordu • Muhtemelen ne kadar ram/disk/cpu istediği belli değil veya belli diye düşünelim  • vSphere admin VM yaratıp, işletim sistemi kurup , güvenlik yamalarını yapıp en son Docker uygulamasını kurup , ip adresi ile beraber kullanıcıya geri dönüyordu • Problem ? – Disk alanı yetmez ise ? – Ram yetmez ise ? – Ekstra başka Docker kurulu VM gereksinimleri doğmuş ise ? 31
  • 32.
  • 33.
    VIC’den Sonra • Kullanıcısizden “Docker” kurulu bir VM istiyordu • vSphere admin ihtiyaç duyulan disk,network ve kaynak gereksinimini belirledikten veya aldıktan sonra • vSphere admin “vic-machine” uygulaması ile ufak/otomatik bir appliance kuruyor ve bu appliance sayesinde kullanıcı doğrulanmış şekilde kendi başına container yaratmaya başliyor • İlgili appliance üzerinde remote Docker API çalışmakta ve kullanıcı tüm işlemleri için bu endpoint’e erişiyor • Böylelikle kullanıcıya bir Linux VM vermektense kendi kendisini yönetebileceği bir arabirim vermeye basliyorsunuz 33
  • 34.
  • 35.
    VIC ile BeraberVM Container ve Bildiğiniz Tüm vSphere Özellikleri Bir Yerde Görülür ve İzlenebilir Oluyor 35
  • 36.
    Örnek VIC ileVCH Yaratma – VIC Binaries 36
  • 37.
    Örnek VIC ileVCH Yaratma – vCenter Görünümü 37
  • 38.
    Örnek VIC ileVCH Yaratma 38
  • 39.
    Örnek VIC ileVCH Yaratma 39
  • 40.
    Örnek VIC ileVCH Yaratma – Endpoint Appliance 40
  • 41.
    Örnek VIC ileVCH Yaratma – İlk Container 41
  • 42.
    Örnek VIC ileVCH Yaratma – İlk Container vCenter Üzerinden Görme 42
  • 43.
    VIC Limitasyonlar, DesteklemediğiÖzellikler • VIC gerlistirmesi devam eden bir ürün • Limitasyonları – Container Vmler sadece root kullanıcı destekliyor • Desteklenmeyen Özellikler – Registry’e push etme – Containerlar arasında data volume paylaştırma – Localhost üzerindeki bir klasör veya dosyayı container’a mount etme – Docker build – Tüm limitasyon ve desteklenmeyen özellikler için : https://vmware.github.io/vic- product/assets/files/html/0.8/vic_app_dev/container_limitations.html – VIC Download İçin : https://bintray.com/vmware/vic/Download – VIC Dökümantasyon : https://vmware.github.io/vic-product/index.html#getting-started 43
  • 44.
  • 45.
    Başka bir Platform– Photon Controller 45
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
    Ödül İçin Sorular? 1. VCH Nedir ? 2. Harbor Nedir ? 3. Photon Controller’ın VIC’den farkı nedir ? 51
  • 52.