vsphere integrated containers
Post on 22-Jan-2018
431 Views
Preview:
TRANSCRIPT
© 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
top related