BilimKoop

Düzenleyen

BilimKoop
Web sitesi
https://bilimkoop.org

Konuşmacı / Eğitmen

  • Güray Yıldırım
    Güray Yıldırım
    DevOps & DevSecOps | Peptr Founder

    Güray Yıldırım deneyimli GNU / Linux sistem yöneticisi, DevOps mühendisi ve özgür yazılım gönüllüsüdür. Dağıtık, ölçeklenebilir ve otonom sistemlerin yüksek trafik ve erişilebilirlikle performanslı ve güvenilir bir şekilde çalışması özel ilgi alanına girmektedir.

    GNU/Linux sistemleri, Kubernetes ve konteyner/ Docker teknolojilerindeki engin deneyim ve bilgilerini 8 yıldır pek çok etkinlik ve eğitimde farklı topluluklarla paylaşmakta ve deneyimini kurumlara danışmanlık vererek artırmaktadır. Terraform, Ansible, OSQuery, Traefik, HAProxy, IPVS, Jenkins/Gitea/GitLab/GitHub, Telegraf/InfluxDB/Grafana/Prometheus ilgilendiği teknolojilerden bazılarıdır.

    Türkçe ilk Docker kitabının ve iki Raspberry Pi kitabının yazarıdır.

Etkinlik Mekanı

Online

Tarih

01 Ara 2020 - 01 Kas 2021
Expired!

Zaman

60 saat
8:00 pm - 11:55 pm

A’dan Z’ye Docker Bootcamp – 60 Saat

Docker, yazılımcıların ve sistem yöneticilerinin uygulama geliştirme ve canlıya alma süreçlerini kolaylaştıran bir konteyner teknolojisidir. Yıllar içerisinde hem küçük ölçekli hem de büyük ölçekli firmalarda kritik sistemlerde kendisine yer bulmakla sınırlı kalmadan, kurumsal ortamlarda da en hayati sistemlere kadar birçok altyapıya hayat veriyor. Konteyner teknolojisinin yazılım, test, sistem ve en önemlisi bunların kesişiminde yer alan DevOps alanına olan katkısını, uygulamalar ve gerçek hayat kullanım senaryoları ile örnekleyerek anlatan bu eğitim, uygulamaların geliştirilmesi, otomasyonu, yayına alınma süreci, ölçeklenmesi, izlenmesi, log takibi, yaşam döngüsü, servis keşfi gibi konuları içeren birçok alanda Docker ve konteyner teknolojilerinin kullanımını içeriyor. 

Ayrıca, konteyner teknolojisinin CI/CD (continuous integration / continuous deployment) ‘a uyarlanması, production ortamlarındaki pratikleri, imajların boyut optimizasyonları, yazılım mimarilerinde konteynerler ile çalışmak için yapılması gerekenler başta olmak üzere, kurumların bu teknolojilere hazır olması ve kararlı kurulumlar yapmalarına zemin hazırlayacak tüm içerikler uygulamalı Docker eğitiminde anlatılıyor. 

Minimum
20 kişi

Maksimum
30 kişi

5 Hafta
60 saat

40 TL / saat
2.400 TL

Uygulamalı
Online

Katılım
Belgesi

Bootcamp Programı

1. Giriş
– Ön gereksinimler, temel bilgiler
– Bilgisayara kurulum
– Sanal makine üzerinden kurulum
– Docker-machine ile kurulum
– PWD
– Örnek uygulamanın kurulumu
– Uygulama çalıştırmak
– Çalışan konteynırların görüntülenmesi
– Çalışan konteynırların izlenmesi
– Konteynırları durdurmak/duraklatmak/başlatmak
– Konteynırlara komut satırı erişimi
– Bazı diğer sık kullanılan Docker komutları
– Docker versiyonları, CE ve EE sürümleri

2. Docker Çalışma Prensipleri
– Konteyner yapısı
– Altyapı
– Namespace’ler
– Cgroups
– Capabilities
– CoW dosya sistemleri

3. İmaj Yapısı
– Base image kavramı
– Dockerfile yapısı
– Dockerfile komutlarının tanıtımı
– Katman yapısı ve katmanların görüntülenmesi
– İmaj oluşturma
– Yaygın kullanılan temel imajlar
– Tek katmanlı konteynır oluşturmak

4. Docker Compose
– YAML’ın kısa özeti
– Compose Dosya Yapısı
– Compose ile Dockerfile’ların imaja dönüştürülmesi
– Compose dosyasının yayına alınması ve yayından kaldırmak
– Uygulamaları arkaplanda başlatmak
– Linkler
– Servis ölçekleme

5. Docker Network Yapısı – 1
– Linkler vs network kullanımı
– Docker’ın temel network mekanizmaları
– Docker ile network yönetim komutları
– overlay/bridge ağ yapıları ve farklılıkları

6. Docker’da Örnek Yazılım Dağıtımı
– 12 Faktör ve avantajları
– Stateful ve stateless kavramları
– Örnek 12 faktör uygulamasının Docker’da yayına

7. Depolama
– Docker Volume kavramı
– Volume sürücüleri
– SSH üzerinden Volume bağlanması
– Volume konfigürasyonları
– Volume ile kalıcı veri saklama
– Konteynır içerisine veri aktarımı
– Konteynır içinden veri aktarımı
– Docker commit

8. Servis keşfi ve bağlantılar
– Servis keşif mekanizması
– İsimlendirme ve haberleşme

9. Dışarıdan erişim ve test için yöntemler
– ngrok
– supergrok
– SSH tünelleme

10. Loglara erişim
– Konteynır mimarisine uygun log sistem yapısı
– Docker ile konteynır bazlı log erişimi
– Compose ile log erişimi
– Docker log sürücüleri

11. Kaynaklar ve performans
– CLI araçları ile izleme (vmstat/top/htop/vtop vs.)
– Apwache benchmark ve httping
– Docker stats
– Docker inspect

12. Portainer
– Tanım, tanıtım, kurulum
– Konteynır yönetimi
– Network yönetimi
– Performans izleme
– Konteynırlara terminal erişimi
– Diğer yaygın kullanılan özellikler

13. Swarm Mode
– Nedir?
– Neden/hangi durumlarda kullanılır?
– HA/Zero Downtime ve Swarm Mode ilişkisi
– SwarmKit araç seti
– Raft nedir?
– Raft consensus nasıl sağlanır/yönetilir
– Manager ve worker node kavramları
– Manager sayısının belirlenme yöntemi/tavsiyeler
– Failover algoritması
– Swarm mode ile yük dengeleme, overlay network ve IPVS
– Key-value store kavramı
– Orchestration ve KV store ilişkisi
– Data plane ve control plane

14. Swarmkit Cluster Yapısı
– Worker/manager benzerlik ve farklılıkları
– Swarm modunda Raft konseyi
– Yönetici seçimi ve yönetimdeki rolü
– “Desired state” kavramı ve Swarm modundaki işleyişi
– Swarm modu bileşenleri ve işlevleri
– Orchestrator
– Scheduler
– Allocator
– Dispatcher
– Swarm modunda task, servis, imaj, konteynır kavramları

15. Swarm mode yönetimi
– Docker swarm
– Swarm mode aktifleştirilmesi
– Advertisement ve IP/port seçim algoritması/kriterleri
– Bağlantı güvenliği ve token alınması
– İstenen node’ların swarma katılması
– Docker node
– Bağlı makinelerin görüntülenmesi
– Promotion ve demotion
– Güncelleme ve makine etiketleme
– Docker service
– Servis oluşturma
– Servis değişikliği/servis silmek
– Servis güncelleme
– Loglama
– Depolama
– Bölgeye/datacenter’a/makine özelliklerine göre kısıtlar
– Ölçekleme
– Global mod
– Docker machine ile kurulum hazırlığı
– Rolling update ve rollback stratejileri, uygulaması
– Healthcheck mekanizması ve kullanımı

16. Docker Network Yapısı – 2
– Overlay sürücüsü ile multi-host networkler
– Şifrelenmiş ağ oluşturma ve çalışma şekli
– Bağlanabilir ağ oluşturma
– Uygulamaların ağ izolasyonu
– Dışarı açık olmayan uygulamalar
– Alternatif network sürücüleri

17. Docker Stack
– Stack için compose yapısı
– Stack ile servis ve network yönetimi
– Stack’in yayına alınması
– Stack güncellemeleri
– Önceki bölümdeki uygulamaların Stack’e aktarılması

18. Registry altyapıları
– Docker Hub
– Docker registry
– Lokal registry kurulumu
– Docker engine’e registry tanıtımı
– Registry ve depolama ( lokal ve S3 örnekleri ile )
– Authentication
– Docker trusted registry
– Registry’in mirror olarak kullanılması
– Üretilen imajların istenen registry üzerinde depolanması
– Registry API

19. CI/CD/CDP
– CI/CD/CDP kavramları ve farkları
– Örnek deployment stratejilerinin anlatımı
– Phabricator veya Github ile commit filtreleme
– Jenkins ve Phabricator/Github ile hook iletişimi
– Jenkins pipeline mekanizması
– Paralel derleme ve testlerin yönetimi
– BlueOcean arayüzü
– Jenkinsfile hazırlanması ve Docker entegrasyonu
– Kodun gönderiminden yayına alınmasına kadar tüm sürecin otomatize edilmesi
– Deployment öncesi kullanıcı onayının beklenmesi

20. Proxy
– Proxy ihtiyaç sebepleri
– Docker flow proxy/Traefik/nginx proxy alternatifleri
– Traefik Proxy ve Swarm Mode entegrasyonu
– Traefik ile WRR yük dengeleme
– Birden fazla alan adı
– Servis etiketleme
– BlueGreen ve Canary deployment, Traefik’in bunlara faydası

21. Docker ile Ansible entegrasyonu

– Ansible Docker Modülü
– Ansible ile imaj üretme 
– Ansible ile konteyner yönetimi
– Docker network ve diğer kaynakların ansible ile yönetme

22. Docker for AWS/Docker for Azure
– Kurulumu/kullanımı (AWS üzerinde CloudFormation / VPC / Security Groups / IGW vs. hakkında kısa bilgiler)
– Swarm-exec
– Cloudstor
– DNS kaydı, yük dengeleme
– Failover yapısı ve test edilmesi
– Log yönetimi/CloudWatch

23. Docker secret
– Hassas bilgilerin saklanması
– Kısıtlamalar
– Çalışma yapısı ve güvenliği
– Secret oluşturma
– Servise göre secret erişimi
– Ayar dosyalarının secret olarak ayarlanması
– İsimlendirme
– Güncelleme

24. Loglar – ELK
– Log sürücüleri ve GELF
– LogSpout
– ELK Stack kurulumu ve tüm logların aktarılması

25. Metrikler
– Telegraf
– InfluxDB
– Grafana ve eklentileri
– Servisler haline getirilerek tüm clusterın izlenmesi
– Alternatif Stack önerileri (Prometheus, Google cadvisor vb araçlar ile)

26. Ek konular
– Docker system df
– System prune özelliği ve kullanımı
– Servis güncellemeleri
– Karşılaşılabilecek sorunlar
– Yayına alma tavsiyeleri