Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Sanallaştırmada yeni akım: Docker
TÜRKSAT
oguzy ~ turksat.com.tr
DevOps
https://about.me/oguzy
2
Önce siz
● Docker resmi “dersini” takip eden?
● Daha önce makinasına Docker kuran?
● Dockerfile yazmayı deneyen?
3
İçerik
● Ne söz veriyor?
● Nasıl çalışır?
● Docker kelime dağarcığı
● Geçmiş, şu an, gelecek
● Kullanıcı hikayeleri
● Öz...
4
Üretim sürecinde
“Bende çalışıyor!”
5
Docker sözü
“Build once
run everywhere”
6
Nasıl çalışıyor?
Sanallaştırma aracı?
VM Yönetim Aracı?
Yapılandırma (Configuration)
Yönetim Aracı?
Cgroups?
LXC?
Libvir...
7
Resmi tanım
Docker.com daki açıklamaya göre
Docker, geliştiriciler ve sysadminler için uygulamalarını derlemek,
çalıştır...
8
Sunucu yapılandırma dünyasında
Daha az taşınabilir,
Daha az yük (overhead)
CM araçları
Elle yapılandırma
Daha taşınabili...
9
Geleneksel VM Yaklaşımı
VM
Kaynak: docker.io
10
Dockerdaki Durum
Containers
Kaynak: docker.io
11
Tipik bir Docker Mimarisi
Her bir süreç için bir “container”
Kaynak: quay.io
12
Docker Kelime Dağarcığı
Uygulamalarınız “container” lar içinde çalışır
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
$ ...
13
devam
> docker pull oguzy/statsd
Using default tag: latest
ba8afa23-debc-41d4-91f7-26bcdd49df54-n1: Pulling oguzy/stats...
14
Docker hub
15
Dockerfile
# Spin-docker example dockerfile for a Django project
# Use phusion/baseimage as base image
FROM phusion/bas...
16
Docker ve Git
Docker Git
Imaj Saklı bir durum Commit
Container Yerel çalıştırma Checkout
Depo (repository) “commit” ler...
17
Açık kaynak başarı hikayesi
● PyCon 2013 te docCloud tarafından proje açıldı
● O zamandan sonra
– 1.000.000+ ın üzerind...
18
Docker Ecosistemi
19
İnsanlar Docker ile neler yapıyorlar
20
Örnek web uygulaması
web:
build: .
command: python app.py
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
redis:...
21
Fig (devam)
$ fig up -d
Starting figtest_redis_1...
Starting figtest_web_1...
$ fig ps
Name Command State Ports
-------...
22
PaaS
23
Deis video
● Deis.io
24
CI
25
CI
26
Araçlar daha iyiye gidiyor
27
Shipyard
28
Bulut ortamında
29
Dockerdaki sorun
30
Kubernetes
● Docker “kapları” için kümelenmiş
ortam
● Birden fazla Docker host
● Yük dengeleme, “auto-healing”,
ölçekle...
31
Kavramlar
● Pod: Bir grup “kap”
● Labels: Podları tanımlamak için
isimlendirme
● Kubelet: “kap” ajanı
● Proxy: Podlar i...
32
Kavramlar
● cAdvisor: Containe Advisor, kullanım
ve performans istatistiklerini sağlar
● Replication Controller: “Repli...
33
Kubernetes Mimarisi
34
Kubernetes Master
35
Kubernetes Minion
36
Bileşen Mimarisi
37
Diğer büyükler
● Amazon EC2 Container Service
● Google Container Service
● Rackspace
– Getcarina (Openstack + Magnum + ...
38
Getcarina
39
Getcarina Dashboard
40
Getcarina CLI
41
Getcarina CLI
42
Çalıştır ve eriş
43
Port 8080
44
Sorular
Upcoming SlideShare
Loading in …5
×

Sanallaştırmada Yeni Akım - Docker

628 views

Published on

Trabzon DevFest için hazırladığım sunum

Published in: Internet
  • Login to see the comments

  • Be the first to like this

Sanallaştırmada Yeni Akım - Docker

  1. 1. Sanallaştırmada yeni akım: Docker TÜRKSAT oguzy ~ turksat.com.tr DevOps https://about.me/oguzy
  2. 2. 2 Önce siz ● Docker resmi “dersini” takip eden? ● Daha önce makinasına Docker kuran? ● Dockerfile yazmayı deneyen?
  3. 3. 3 İçerik ● Ne söz veriyor? ● Nasıl çalışır? ● Docker kelime dağarcığı ● Geçmiş, şu an, gelecek ● Kullanıcı hikayeleri ● Özet
  4. 4. 4 Üretim sürecinde “Bende çalışıyor!”
  5. 5. 5 Docker sözü “Build once run everywhere”
  6. 6. 6 Nasıl çalışıyor? Sanallaştırma aracı? VM Yönetim Aracı? Yapılandırma (Configuration) Yönetim Aracı? Cgroups? LXC? Libvirt?
  7. 7. 7 Resmi tanım Docker.com daki açıklamaya göre Docker, geliştiriciler ve sysadminler için uygulamalarını derlemek, çalıştırmak ve dağıtmak için açık bir platformdur. Docker Engine Taşınabilir, hafif, çalışma zamanı ve paketleme aracı Docker Hub Uygulama paylaşmak ve iş akışlarını otomatize etmek için bir bulut servisi
  8. 8. 8 Sunucu yapılandırma dünyasında Daha az taşınabilir, Daha az yük (overhead) CM araçları Elle yapılandırma Daha taşınabilir, Daha çok yük (overhead) Geleneksel VMler Docker
  9. 9. 9 Geleneksel VM Yaklaşımı VM Kaynak: docker.io
  10. 10. 10 Dockerdaki Durum Containers Kaynak: docker.io
  11. 11. 11 Tipik bir Docker Mimarisi Her bir süreç için bir “container” Kaynak: quay.io
  12. 12. 12 Docker Kelime Dağarcığı Uygulamalarınız “container” lar içinde çalışır docker run [OPTIONS] IMAGE [COMMAND] [ARG...] $ docker run busybox /bin/echo “hello world” hello world
  13. 13. 13 devam > docker pull oguzy/statsd Using default tag: latest ba8afa23-debc-41d4-91f7-26bcdd49df54-n1: Pulling oguzy/statsd:latest... : downloaded > docker history oguzy/statsd IMAGE CREATED CREATED BY SIZE COMMENT 3575ba401d18 10 months ago /bin/sh -c cd /usr/src && git clone https:// 3.741 MB 3334a6fda5e1 10 months ago /bin/sh -c apt-get install -y git debhelper d 222.5 MB bb1cab823c31 10 months ago /bin/sh -c apt-get update && apt-get dist-upg 27.47 MB ea4e0b39c9a4 10 months ago /bin/sh -c #(nop) MAINTAINER Oguz Yarimtepe 0 B 8eaa4ff06b53 10 months ago /bin/sh -c #(nop) CMD [/bin/bash] 0 B f62feddc05dc 10 months ago /bin/sh -c sed -i 's/^#s*(deb.*universe)$/ 1.895 kB 607c5d1cca71 10 months ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 194.5 kB 3b363fd9d7da 10 months ago /bin/sh -c #(nop) ADD file:c6927d782cab75b529 188.1 MB 511136ea3c5a 2 years ago 0 B Imported from -
  14. 14. 14 Docker hub
  15. 15. 15 Dockerfile # Spin-docker example dockerfile for a Django project # Use phusion/baseimage as base image FROM phusion/baseimage:0.9.8 MAINTAINER Andrew T. Baker <andrew@andrewtorkbaker.com> # Add the Django app and install its requirements ADD sd_sample_project /var/www/django RUN apt-get install -y python-pip RUN pip install virtualenv RUN virtualenv /var/www/venv RUN /.../venv/bin/pip install -r /.../requirements.txt ...
  16. 16. 16 Docker ve Git Docker Git Imaj Saklı bir durum Commit Container Yerel çalıştırma Checkout Depo (repository) “commit” lerin toplamı Depo (repository) Docker Hub Sık kullanılan uzak sunucu Github
  17. 17. 17 Açık kaynak başarı hikayesi ● PyCon 2013 te docCloud tarafından proje açıldı ● O zamandan sonra – 1.000.000+ ın üzerinde indirildi – 300+ projeye güç verdi – 350+ docker katkıcısı – 10.000+ Github yıldızı ● dotCloud adını değiştirdi: Docker – 1.0 sürümü 2014 te duyuruldu
  18. 18. 18 Docker Ecosistemi
  19. 19. 19 İnsanlar Docker ile neler yapıyorlar
  20. 20. 20 Örnek web uygulaması web: build: . command: python app.py ports: - "5000:5000" volumes: - .:/code links: - redis redis: image: redis $ fig up Pulling image redis... Building web... Starting figtest_redis_1... Starting figtest_web_1... redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3 web_1 | * Running on http://0.0.0.0:5000/”
  21. 21. 21 Fig (devam) $ fig up -d Starting figtest_redis_1... Starting figtest_web_1... $ fig ps Name Command State Ports ------------------------------------------------------------------- figtest_redis_1 /usr/local/bin/run Up figtest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp
  22. 22. 22 PaaS
  23. 23. 23 Deis video ● Deis.io
  24. 24. 24 CI
  25. 25. 25 CI
  26. 26. 26 Araçlar daha iyiye gidiyor
  27. 27. 27 Shipyard
  28. 28. 28 Bulut ortamında
  29. 29. 29 Dockerdaki sorun
  30. 30. 30 Kubernetes ● Docker “kapları” için kümelenmiş ortam ● Birden fazla Docker host ● Yük dengeleme, “auto-healing”, ölçekleme ● Google ● Contributors = CoreOS, RedHat, HP, IBM, Microsoft, ...
  31. 31. 31 Kavramlar ● Pod: Bir grup “kap” ● Labels: Podları tanımlamak için isimlendirme ● Kubelet: “kap” ajanı ● Proxy: Podlar için yük dengeleyici ● Scheduler: “Worker” nodlardaki podları zamanlar
  32. 32. 32 Kavramlar ● cAdvisor: Containe Advisor, kullanım ve performans istatistiklerini sağlar ● Replication Controller: “Replication” yönetimi
  33. 33. 33 Kubernetes Mimarisi
  34. 34. 34 Kubernetes Master
  35. 35. 35 Kubernetes Minion
  36. 36. 36 Bileşen Mimarisi
  37. 37. 37 Diğer büyükler ● Amazon EC2 Container Service ● Google Container Service ● Rackspace – Getcarina (Openstack + Magnum + Swarm)
  38. 38. 38 Getcarina
  39. 39. 39 Getcarina Dashboard
  40. 40. 40 Getcarina CLI
  41. 41. 41 Getcarina CLI
  42. 42. 42 Çalıştır ve eriş
  43. 43. 43 Port 8080
  44. 44. 44 Sorular

×