Eğitim İçeriği
Gün 1 – Containerlar ve İmaj Yönetimi
Container Platformlarına Giriş
- Geleneksel uygulama dağıtımı ile container tabanlı dağıtımın karşılaştırılması
- Containerlar ve sanal makineler
- Container çalışma zamanları (runtime) ve container motorları
- Docker, Kubernetes ve OpenShift'in rolü
- Yaygın container platform mimarileri
- Geliştirme, test ve üretim iş akışları
Containerlarla Çalışma
- Containerların çalıştırılması ve yönetimi
- Container yaşam döngüsü
- Containerların başlatılması, durdurulması ve silinmesi
- Container içinde komutların yürütülmesi
- Çevresel değişkenler
- Port eşleme (port mapping)
- Container günlükleri (logs)
- Kaynak kullanımı ve süreç denetimi
Container İmajlarının Oluşturulması
- İmaj yapısı ve katmanları
- Dockerfile ve Containerfile oluşturma
- Temel imajların seçilmesi
- Uygulama bağımlılıklarının eklenmesi
- Giriş noktalarının (entry points) ve komutların yapılandırılması
- İmaj önbellekleme (caching)
- İmaj boyutunun küçültülmesi
- Yeniden üretilebilir imajların oluşturulması
Container Kayıt Defterleri
- Kamu ve özel kayıt defterleri
- Etiketleme ve imaj sürümlendirme
- İmajların gönderilmesi (push) ve alınması (pull)
- İmaj kimlik doğrulaması
- İjam saklama politikası ve temizleme
- Temel imaj güvenliği hususları
Container Ağılaması ve Depolama
- Container ağ kavramları
- Köprü (bridge) ağlama
- Portların dışa açılması
- Containerdan containera iletişim
- Bind mountlar ve hacimler (volumes)
- Kalıcı container verisi
- Yedekleme hususları
Uygulama Egzersizleri
- Containerların çalıştırılması ve denetlenmesi
- Bir uygulama imajının oluşturulması
- Portların ve çevresel değişkenlerin yapılandırılması
- İmajın bir kayıt defterine yayılması
- Kalıcı verinin container dışına kaydedilmesi
Gün 2 – Kubernetes Mimarisi ve Yükleri
Kubernetes Temelleri
- Container orkestrasyonunun amacı
- Kubernetes mimarisi
- Kontrol düzlemi bileşenleri
- İşçi düğümleri (worker nodes)
- API sunucusu
- Scheduler (Yönlendirici)
- Kontroller (Controllers)
- Küme durumu ve istenen durum
- kubectl kullanarak küme ile iletişim kurma
Kubernetes Kaynakları
- Pods
- ReplicaSets
- Deployments
- Namespaces
- Labeleler ve etiketler (annotations)
- Selectörler
- Bildirimli kaynak tanımları
- YAML manifestoları
Uygulama Dağıtımı
- Deployments oluşturulması ve yönetilmesi
- Yüklerin ölçeklendirilmesi
- Container imajlarının güncellenmesi
- Aşamalı güncellemeler (Rolling updates)
- Geri alma işlemleri (Rollbacks)
- Dağıtım geçmişi
- Yüklerin yeniden başlatılması
- Uygulama replikalarının yönetimi
Uygulama Yapılandırması
- ConfigMaps
- Secrets
- Çevresel değişkenler
- Yapılandırma dosyaları
- Uygulama kodunun yapılandırmadan ayrıştırılması
- Ortamına özgü ayarların yönetimi
Kaynak Yönetimi
- CPU ve hafıza talepleri (requests)
- CPU ve hafıza sınırları (limits)
- Kaynak kota limitleri
- Sınır aralıkları (Limit ranges)
- Yönlendirme etkileri
- Kaynakla ilgili arızaların teşhisi
Uygulama Egzersizleri
- Bir containerize uygulamanın dağıtılması
- Kubernetes manifestolarının oluşturulması ve güncellenmesi
- Uygulamanın ölçeklendirilmesi
- Aşamalı bir güncelleme ve geri alma gerçekleştirme
- ConfigMaps ve Secrets kullanılarak uygulamanın yapılandırılması
- Kaynak taleplerinin ve sınırlarının uygulanması
Gün 3 – Kubernetes Ağlaması, Depolama ve Güvenliği
Kubernetes Ağılaması
- Küme ağlama modeli
- Podtan poda iletişim
- Hizmet keşfi (Service discovery)
- Küme içindeki DNS
- ClusterIP hizmetleri
- NodePort hizmetleri
- LoadBalancer hizmetleri
- Ingress kavramları
- Uygulama dışa açılım desenleri
Ağ Politikaları
- Yükler arasındaki trafiğin kontrolü
- Giriş (ingress) ve çıkış (egress) kuralları
- Namespace tabanlı trafik kontrolü
- Ağ bağlantısının test edilmesi
- Hizmet iletişiminin giderilmesi
Kalıcı Depolama
- Ephemeral (geçici) ve kalıcı depolama
- Hacimler (Volumes)
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Dinamik tahsis
- Erişim modları
- Kurtarma politikaları (Reclaim policies)
- Eyaletli uygulamalar için depolama
Kubernetes Erişim Kontrolü
- Kimlik doğrulama ve yetkilendirme kavramları
- Rol Tabanlı Erişim Kontrolü (RBAC)
- Roller ve ClusterRoles
- RoleBindings ve ClusterRoleBindings
- Hizmet hesapları
- Azami ayrıcalık ilkesi (Least-privilege access)
- Etkili izinlerin denetlenmesi
Yük Güvenliği
- Güvenlik bağlamları (Security contexts)
- Containerların kök dışı kullanıcı olarak çalıştırılması
- Linux yetenekleri (capabilities)
- Salt okunur dosya sistemleri
- Secret yönetimi
- İmaj menşeisi (provenance)
- Yaygın yapılandırma riskleri
Uygulama Egzersizleri
- Kubernetes hizmetleri kullanılarak bir uygulamanın dışa açılması
- Ingress yapılandırması
- Ağ politikası kullanılarak trafiğin kısıtlanması
- Kalıcı depolama tahsisi
- RBAC izinlerinin yapılandırılması
- Uygun bir güvenlik bağlamıyla bir yükün çalıştırılması
Gün 4 – OpenShift Ortamlarıyla Çalışma
OpenShift'e Giriş
- Kubernetes tabanlı bir uygulama platformu olarak OpenShift
- Bir OpenShift ortamındaki Kubernetes kaynakları
- OpenShift küme mimarisi
- Projeler ve namespace'ler
- Platform kullanıcıları ve hizmet hesapları
- Web konsolu ile çalışma
- OpenShift CLI ile çalışma
Projelerin ve Erişimin Yönetimi
- Projelerin oluşturulması ve yönetilmesi
- Kullanıcı izinlerinin atanması
- Proje düzeyindeki roller
- Yönetici erişimi
- Kaynak kota limitleri
- Sınır aralıkları (Limit ranges)
- Hizmet hesapları
- Proje kaynaklarının gözden geçirilmesi
Uygulama Dağıtımı
- Container imajlarının dağıtılması
- Uygulama yüklerinin oluşturulması
- Dağıtımların yönetilmesi
- Uygulamaların ölçeklendirilmesi
- Uygulama sürümlerinin güncellenmesi
- Geri alma işlemleri
- Uygulama yapılandırmasının yönetimi
- Secretlarla çalışma
Uygulamanın Dışa Açılması
- OpenShift'te Hizmetler (Services)
- Yönlendirmeler (Routes)
- TLS kavramları
- Dahili ve harici uygulama erişimi
- İsimler ve sertifikalar
- Route ve hizmet sorunlarının giderilmesi
OpenShift'te Depolama
- Persistent Volume Claims
- StorageClasses
- Hacimlerin yüklere bağlanması
- Eyaletli (Stateful) yükler
- Depolama erişim izinleri
- Hacim takılma sorunlarının giderilmesi
Yönlendirme ve Düğüm Yönetimi
- Labeleler ve selectörler
- Düğüm selectörleri (Node selectors)
- Taints ve tolerations
- Affinity ve anti-affinity kavramları
- Yük yerleştirme
- Düğümlerin izole edilmesi (cordoning) ve boşaltılması (draining)
- Düğüm bakım hususları
Uygulama Egzersizleri
- Bir OpenShift ortamına erişim
- Bir projenin oluşturulması ve yapılandırılması
- Bir uygulamanın dağıtılması ve dışa açılması
- Kullanıcı ve hizmet hesabı erişiminin yapılandırılması
- Kalıcı depolamanın eklenmesi
- Çalışan bir yükün ölçeklendirilmesi ve güncellenmesi
Gün 5 – Operasyonlar, İzleme ve Giderme
Platform İzleme
- Küme ve uygulama sağlığının izlenmesi
- Kaynak metrikleri
- Düğüm sağlığı
- Yük durumu
- Kapasite ve kaynak kullanımı
- Performans kısıtlamalarının belirlenmesi
Günlükler (Logging) ve Olaylar
- Container günlükleri
- Pod günlükleri
- Önceki container günlükleri
- Kubernetes olayları
- Uygulama ve platform mesajları
- İşlemsel verilerin filtrelenmesi ve yorumlanması
Sağlık Kontrolleri
- Başlatma probeleri (Startup probes)
- Hazırlık probeleri (Readiness probes)
- Canlılık probeleri (Liveness probes)
- Faydalı sağlık uç noktalarının tasarımı
- Probe arızalarının teşhisi
- Gereksiz uygulama yeniden başlatmalarının önlenmesi
Yük Giderme
- Beklemede kalan pods
- İmaj çekme arızaları
- Çökme döngüleri (Crash loops)
- Yanlış yapılandırılmış çevresel değişkenler
- Başarısız bağlamalar
- Kaynak eksikliği
- İzin hataları
- Hizmet ve route bağlantı sorunları
- DNS sorunları
- Uygulama başlatma arızaları
Operasyonel Güvenlik
- İzinlerin gözden geçirilmesi
- Hizmet hesabı kullanımı
- Güvenli kimlik bilgisi yönetimi
- İmaj güvenlik uygulamaları
- Ağ izole edilmesi
- Platform erişiminin denetlenmesi (Auditing)
- Azami ayrıcalık ilkesinin uygulanması
Bakım ve Yaşam Döngüsü Yönetimi
- Rutin platform kontrolleri
- Düğüm bakımı
- Uygulama yedekleme hususları
- Yapılandırma yedeklemesi
- Güncelleme planlaması
- Değişiklik yönetimi
- Güncellemelerin test edilmesi
- Geri alma planlaması
- İlk afet kurtarma kavramları
Son Uygulamalı Çalıştay
Katılımcılar uçtan uca bir operasyonel senaryo tamamlar:
- Bir container imajının oluşturulması ve etiketlenmesi.
- İmajın bir kayıt defterine yayılması.
- Uygulamanın Kubernetes veya OpenShift'e dağıtılması.
- Uygulama ayarlarının ve kimlik bilgilerinin yapılandırılması.
- Uygulamanın dışa açılması.
- Kalıcı depolamanın eklenmesi.
- Erişim izinlerinin yapılandırılması.
- Sağlık kontrollerinin eklenmesi.
- Uygulamanın ölçeklendirilmesi ve güncellenmesi.
- Yerleştirilmiş bir arızının teşhis edilmesi ve çözülmesi.
Kurs Formatı
- İnteraktif dersler ve teknik tartışmalar.
- Eğitmen gösterileri.
- Kapsamlı uygulama egzersizleri.
- Senaryo tabanlı yönetim ve giderme çalıştayları.
- Container, Kubernetes ve OpenShift ortamlarında pratik çalışma.
Kurs Özelleştirme Seçenekleri
- Kurs; katılımcının mevcut altyapısına, bulut sağlayıcısına ve container araçlarına uygun şekilde uyarlanabilir.
- Docker, Kubernetes ve OpenShift konularındaki denge; ekibin deneyimine göre ayarlanabilir.
- Pratik egzersizler; kuruluşun uygulamalarına, dağıtım süreçlerine ve işletimsel gereksinimlerine göre özelleştirilebilir.
Ticari Marka Bildirimi
OpenShift, Red Hat, Inc.'in bir ticari markasıdır. Bu bağımsız olarak geliştirilen eğitim, Red Hat ile bağlantılı değildir, desteklenmemiştir veya tarafından yetkilendirilmemiştir.
Kurs İçin Gerekli Önbilgiler
Katılımcılarda şunların bulunması önerilir:
- Linux komut satırını kullanma deneyimi.
- Temel sistem yönetimi veya DevOps bilgisi.
- Ağ kavramlarına genel hâkimiyet.
- Yazılım dağıtım süreçlerine aşinalık.
Docker, Kubernetes veya OpenShift ile önceki deneyim faydalı olacaktır ancak zorunlu değildir.
Danışanlarımızın Yorumları (7)
Reda açıklamaları yaptı ve anlaşılmayı kolaylaştırdı
Eric Van Wyk
Eğitim - Docker, Kubernetes and OpenShift 3 for Administrators
Yapay Zeka Çevirisi
Laboratuvarlar en iyisiydi. Çok pratik ve elden deneyim sağlar. Kişisel olarak, bu kursu gerçekten anlamak ve ele aldığımız kavramları uygulamaya yönelik en etkili yol olduğunu düşünüyorum.
Hishaam Johnstone
Eğitim - Docker, Kubernetes and OpenShift 3 for Administrators
Yapay Zeka Çevirisi
Yardıma ve belirsizliklerde daha fazla açıklamaya olan istekliliğe çok değer verdim
Letlotlo Miffi
Eğitim - Docker, Kubernetes and OpenShift 3 for Administrators
Yapay Zeka Çevirisi
Adriano konusunu çok derinlemesine inceledi ve bu benim en tercih ettiğim tarzdır, yani: komutlar hakkında daha az, arkasındaki mekanizma hakkında daha fazla bilgi vermek. Tartışılan senaryolar, anlatılan konuların anlaşılmasına çok yardımcı olan pratik örneklerle desteklendi.
Mariusz BANASZCZYK - Sopra Steria
Eğitim - Docker, Kubernetes and OpenShift for Administrators
Yapay Zeka Çevirisi
Adriano hakkında derin bilgi. Temel kavramların açıklaması
Tomasz Szalankiewicz - LPP SA
Eğitim - Docker, Kubernetes and OpenShift for Administrators
Yapay Zeka Çevirisi
Genel olarak sunucuyu beğendim.
Josif Kovacevic - ANZ
Eğitim - Docker, Kubernetes and OpenShift for Administrators
Yapay Zeka Çevirisi
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Eğitim - Docker, Kubernetes and OpenShift for Administrators
Yapay Zeka Çevirisi