vSphere Integrated Containers

Post on 22-Jan-2018

431 views 0 download

Transcript of vSphere Integrated Containers

© 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 sanalmakinelerde bir process’e benzeyen (w3wp.exe, mysqld, java)

– Bir isletim sisteminde olmasi gereken belki bir sürü bileşenden mahrum, sadece çalıstırmakistediğ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 olmasadadüşü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 atmakve 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’ı SeviyorBUILD - 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şmeyebaş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 vesağ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ılanWindows 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,kaynakyö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ümortaya çıkıyor

• Tek bir altyapı üzerine geleneksel (VM) ve cloud-native-app (containerized) gereksinimlerinikarşı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 Servislerdenolusur. (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 (WaterfallAgile)

– 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 veDiğ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 birendpoint, bir servis sagliyor (Buna VCH Endpoint VM deniyor)

• Hem var olan VM’leri hemde ContainerlarI tek bir arabirim üzerinden yönetmeye , izlemeyedevam 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çinyaratı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 geridö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ıktansonra

• vSphere admin “vic-machine” uygulaması ile ufak/otomatik bir appliance kuruyor ve buappliance 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 buendpoint’e erişiyor

• Böylelikle kullanıcıya bir Linux VM vermektense kendi kendisini yönetebileceği bir arabirimvermeye 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