Temel Linux komutları, bir programlama dili ve versiyon kontrol bilgisi yeterlidir. Donanım/kurulum gereksinimleri ve ilk 2 haftada yapılacaklar, sık yapılan hatalar bu rehberde özetlendi.
DevOps (Docker, Kubernetes, CI/CD) öğrenmek için hangi ön bilgiler gerekir?
Kısa cevap: DevOps öğrenmeye başlamadan önce temel Linux bilgisi, bir programlama dili (tercihen Python veya Go), temel ağ kavramları ve Git/versiyon kontrol bilgisi yeterlidir. Ayrıca makinede sanallaştırma/konteyner çalıştırabilecek bir bilgisayar ve bir bulut hesabı ya da lokal VM ortamı kurulumunu yapmanız gerekir.
Neden ön bilgi önemli?
DevOps araçları altyapı, otomasyon ve dağıtık sistemlerle yakından ilişkili olduğu için bazı temel konuları önceden bilmek öğrenme sürecini hızlandırır. Örneğin Docker ve Kubernetes, Linux çekirdek özellikleri (ör. cgroups, namespaces) ve ağ prensipleriyle çalışır; bunları bilmek kavramları somutlaştırır.
Ayrıca CI/CD boru hatları yazarken script ve küçük programlar yazmanız gerekir; bu yüzden en az bir programlama diline aşinalık ve Git ile çalışma pratiği önemli bir avantaj sağlar.
Gerekli teknik ön bilgiler
Başlamadan önce edinmeniz gereken minimum konu başlıkları şunlardır. Her biri için birkaç paragrafta ne kadar derinlik gerektiğini belirtiyorum.
- Linux temelleri: Dosya sistemi, izinler, sistem servisleri (systemd), paket yöneticileri, temel kabuk (bash) komutları. Docker konteynerleri genelde Linux tabanlıdır; günlük işlemlerde bu bilgiler sık kullanılır.
- Bir programlama dili: Python en sık tercih edilendir (script yazma, otomasyon, küçük yardımcı araçlar). Go, özellikle Kubernetes eklentileri/operatörleri için faydalıdır. Derin seviye uzmanlığı değil, script yazıp JSON/YAML işleyebilecek düzey yeterli.
- Git ve versiyon kontrol: Branch/merge/rebase, pull request akışı, .gitignore, temel iş akışları. CI/CD boru hatları doğrudan repolarla entegre olur; Git bilmeden ilerlemek çok zor olur.
- Ağ ve HTTP temelleri: IP adresleri, DNS, TCP/UDP, portlar, load balancing ve SSL/TLS hakkında temel bilgi. Kubernetes servis/ingress ve yük dengeleme kavramlarını anlamak için gereklidir.
Kurulum ve bilgisayar gereksinimleri
Çoğu öğrenme ve deneme için güçlü bir laptop yeterlidir; üretim ölçeği kaynaklarına ihtiyacınız yok. Önerilen asgari donanım:
- En az 8 GB RAM (tercihen 16 GB) — birden fazla konteyner/VM çalıştırırken rahat etmeniz için 16 GB tavsiye edilir.
- Modern çok çekirdekli CPU (Intel i5/Ryzen 5 veya üzeri) — sanallaştırma performansı için önemlidir.
- SSD depolama — hız için güçlü bir fark yaratır.
- 64-bit işletim sistemi ve BIOS/UEFI üzerinde VT-x/AMD-V açık olmalı (sanal makineler için).
Kurulum için önerilen araçlar ve ortamlar:
- Docker Desktop (Windows/Mac) veya Docker Engine (Linux).
- kubectl ve bir lokal Kubernetes ortamı: minikube, kind veya k3s; kaynak kısıtlı makinelere k3s veya kind daha uygun olabilir.
- Git, bir kod editörü (VS Code önerilir) ve terminal/SSH istemcisi.
- Opsiyonel olarak bir ücretsiz bulut hesabı (AWS/GCP/Azure) — gerçek üretim benzeri senaryolar için.
İlk 2 haftada yapılacaklar (hafta hafta plan)
İlk iki hafta hedef odaklı, pratiğe dayalı bir tempo öneririm. Her gün kısa bir hedef koyun ve küçük uygulamalar yapın.
1. Hafta — Temel kavramlar ve Docker
Gün 1-2: Linux temel komutları, bash ile basit script yazma, dosya izinleri. Bu, konteynerlerin ve sunucuların yönetimi için gereklidir.
Gün 3-7: Docker kurulumu, temel komutlar (build, run, ps, logs), Dockerfile yazma, çok katmanlı imaj (multi-stage builds), volümler ve ağlar. Basit bir Node.js veya Python web uygulamasını Dockerize edin ve container içinde çalıştırın.
2. Hafta — Git, CI/CD başlangıç ve Kubernetes giriş
Gün 8-10: Git ile çalışma — branch, commit, pull request akışı; repoda CI tetikleyecek basit pipeline gereksinimlerini anlama.
Gün 11-14: Lokal Kubernetes kurulum (minikube/kind/k3s), kubectl temel komutları, Pod/Deployment/Service tanımları. Docker ile hazırladığınız uygulamayı Kubernetes üzerinde çalıştırın; basit bir ingress veya port-forward ile dışarı açın.
Sık yapılan hatalar ve nasıl kaçınılır
Yeni başlayanların sık yaptığı bazı hatalar tekrarlanabilir; bunları bilmek zaman kazandırır.
- Her şeyi GUI ile yapmaya çalışmak: GUI araçlar başlangıçta caziptir ama altyapıyı otomatikleştirirken CLI ve YAML temelli çalışmak zorunludur. CLI ile pratiğinizi güçlendirin.
- Yeterince küçük hedefler koymamak: Büyük sistemlerle karşılaşınca moraller bozulur. Küçük, çalışan prototipler (ör. tek konteyner + CI pipeline) oluşturun ve ölçeklendirin.
- YAML/konfigürasyon yönetimini ihmal etmek: El ile yapılan değişiklikleri takip etmemek ve versiyon kontrolü kullanmamak ileride karmaşaya yol açar. Tüm konfigürasyonları repoya koyun.
- İzinleri/capabilities yanlış ayarlamak: Konteynerleri gereksiz root yetkileriyle çalıştırmak güvenlik riskidir. En az yetki prensibini uygulayın.
Kısa karşılaştırma: Lokal vs Bulut öğrenme ortamı
| Özellik | Lokal (minikube/kind) | Bulut (managed Kubernetes) |
|---|---|---|
| Maliyet | Düşük/ücretsiz | Ücretsiz katman var ama üretim maliyeti olabilir |
| Gerçek dünya benzerliği | Temel/pratik için yeterli | Gerçek üretim ağ/servis davranışları daha gerçekçi |
| Kurulum karmaşıklığı | Kolay/yerel kaynak sınırlı | Daha karmaşık ama yönetilen hizmet kolaylık sağlar |
Sık Sorulan Sorular
1. Sıfırdan başlayıp 2 ayda kurs yeterli olur mu?
Opendart yapısına bağlı olarak 2 ay (120 saat + uygulama/proje) intensif bir başlangıç sağlar; temel yetkinlikleri kazanırsınız ancak gerçek iş tecrübesi için projeler yapmaya devam etmeniz gerekir. Kurs sonrasında kişisel projeler ve iş uygulamalarıyla bilgiyi pekiştirin.
2. Hangi programlama dilini öğrenmeliyim?
Python başlangıç için en uygun olandır (script’ler, otomasyon). Kubernetes ekosisteminde Go yaygın olsa da başlangıçta zorlayıcı olabilir. Önce Python ile otomasyon yapıp sonra Go’ya geçebilirsiniz.
3. Kurs oturum saatleri ve ödeme seçenekleri nasıl?
Seanslar hafta içi 09-12, 15-18 veya 19-22; hafta sonu 10-15 veya 15-20 şeklinde planlanmış. Ödeme kredi kartına vade farksız 12 taksit veya havale/EFT ile yapılabiliyor. Online canlı ve sınıf içi seçenekleri mevcut. Kurumsal eğitimler genelde 30 saat (günde 6 saat) olarak düzenleniyor; temel ve ileri seviye.
4. Hangi araçlarla başlamalıyım—Docker mı yoksa doğrudan Kubernetes mi?
Önce Docker öğrenin; konteyner mantığını, imaj yapısını ve yaşam döngüsünü anlamak Kubernetes’i öğrenmeyi kolaylaştırır. Docker konusunda rahat olduktan sonra Kubernetes’e geçin.
İlgili Eğitim
Sonuç
DevOps öğrenimine başlamadan önce Linux, Git, temel ağ bilgisi ve bir programlama dilinde temel seviye yeterlidir. Donanım olarak 16 GB RAM ve SSD önerilir; Docker, lokal Kubernetes (minikube/kind/k3s), kubectl ve Git kurarak ilk iki haftada Dockerize edilmiş bir uygulamayı Kubernetes üzerinde çalışır hale getirmeyi hedefleyin. Sık yapılan hatalardan kaçınmak için CLI pratiği yapın, konfigürasyonları versiyonlayın ve küçük, ölçülebilir hedeflerle ilerleyin. Opendart eğitimi 2 ay (120 saat + proje) temel ve ileri konuları kapsayacak şekilde planlıdır; ödeme ve seans seçenekleri yukarıda belirtilmiştir.


