Gezinme

Ücretsiz Eğitim Platformu

Arama kategorileri

Esc kapatmak için

Kubernetes Nasıl Öğrenilir? Ücretsiz 8 Haftalık Yol Haritası
Teknoloji / yazılım

Kubernetes Nasıl Öğrenilir? Ücretsiz 8 Haftalık Yol Haritası

5 dk okuma

Kubernetes Nasıl Öğrenilir? Sıfırdan Ücretsiz Öğrenme Yol Haritası

Bulut bilişim, DevOps ve yazılım altyapılarıyla ilgileniyorsanız Kubernetes kavramıyla karşılaşmış olabilirsiniz. Peki, Kubernetes nedir, öğrenmeye nereden başlanır, Docker bilmek gerekir mi ve ücretsiz kaynaklarla Kubernetes öğrenmek mümkün mü? Bu rehberde temel kavramlardan ilk uygulamanızı çalıştırmaya kadar ilerleyen, yeni başlayanlara uygun bir öğrenme planı bulabilirsiniz.

Kubernetes öğrenmek için önce Linux, ağ temelleri ve Docker gibi konteyner teknolojilerini anlamalı; ardından Pod, Deployment, Service ve diğer Kubernetes kaynaklarını öğrenerek yerel bir kümede uygulama yapmalısınız. Kubernetes'in resmî dokümantasyonu ve ücretsiz açık kaynak araçları, bu sürece başlamak için yeterli kaynaklar sunar.

Kubernetes öğrenmek için 7 temel adım:

  1. Linux ve temel ağ kavramlarını öğrenin.
  2. Docker ve konteyner mantığını kavrayın.
  3. Kubernetes mimarisini ve temel nesnelerini tanıyın.
  4. Bilgisayarınıza minikube veya kind kurun.
  5. kubectl komutlarını kullanmayı öğrenin.
  6. Deployment, Service ve YAML dosyalarıyla uygulama geliştirin.
  7. Ölçeklendirme, güncelleme, hata ayıklama ve güvenlik konularında pratik yapın.

Kubernetes Nedir?

Kubernetes, konteyner hâlinde paketlenmiş uygulamaların dağıtımını, yönetimini ve ölçeklendirilmesini otomatikleştirmeye yardımcı olan açık kaynaklı bir konteyner orkestrasyon platformudur.

Kısaca Kubernetes, birden fazla uygulama konteynerinin hangi sunucularda çalışacağını, nasıl erişilebilir olacağını ve istenen çalışma durumunun nasıl korunacağını yönetir.

Kubernetes, Google'daki konteyner yönetimi deneyiminden yararlanılarak geliştirilmiş ve bugün Cloud Native Computing Foundation (CNCF) ekosisteminde sürdürülen bir projedir.

Kubernetes Ne İşe Yarar?

  • Konteyner uygulamalarının dağıtımını yönetir.
  • Uygulamaların birden fazla kopyasını çalıştırabilir.
  • İstenen çalışma durumunu korumaya çalışır.
  • Uygulama güncellemelerini kontrollü biçimde gerçekleştirebilir.
  • Servis keşfi ve ağ erişimi sağlar.
  • Yapılandırma ve gizli bilgilerin yönetilmesini destekler.
  • Kaynak kullanımını ve iş yüklerinin yerleşimini yönetmeye yardımcı olur.

Kubernetes, uygulamaların hiçbir zaman hata vermeyeceğini garanti etmez. Ancak uygun yapılandırmayla hatalara karşı dayanıklılığı artırabilecek mekanizmalar sunar.

Kubernetes ile Docker Arasındaki Fark Nedir?

Docker ve Kubernetes aynı görevi yapan iki alternatif teknoloji değildir. Farklı katmanlarda çalışırlar.

Docker, uygulamaların konteyner olarak paketlenmesi ve çalıştırılması için kullanılan araç ve teknolojiler sunar. Kubernetes ise konteynerleştirilmiş uygulamaların bir küme üzerinde yönetilmesini sağlar.

Özellik Docker Kubernetes
Temel amaç Konteyner oluşturma ve çalıştırma Konteyner iş yüklerini yönetme
Temel kavram Image ve Container Pod, Deployment, Service
Ölçeklendirme Ek araçlar veya manuel işlemler Bildirimsel ölçeklendirme mekanizmaları
Çalışma ortamı Yerel makine ve sunucular Kubernetes kümesi
Öğrenme sırası Önce öğrenilmesi yararlı Docker temellerinden sonra

Önemli: Kubernetes'in çalışması için Docker Engine zorunlu değildir. Kubernetes, Container Runtime Interface (CRI) üzerinden containerd gibi uyumlu çalışma zamanlarını kullanabilir. Ancak Docker öğrenmek konteyner mantığını kavramayı kolaylaştırır.

Kubernetes Öğrenmeden Önce Neler Bilinmeli?

Kubernetes öğrenmeye başlamak için uzman bir yazılımcı olmanız gerekmez. Bununla birlikte bazı temel bilgiler öğrenme sürecini kolaylaştırır.

1. Linux Temelleri

Dosya sistemi, terminal komutları, kullanıcı izinleri, süreçler ve servisler hakkında temel bilgi edinmeniz yararlıdır.

2. Ağ Bilgisi

IP adresi, DNS, port, HTTP, TCP ve istemci-sunucu iletişimi gibi kavramları öğrenin.

3. Docker ve Konteynerler

Image, Container, Dockerfile, port eşleme ve volume gibi temel kavramları öğrenin.

4. YAML Dosyaları

Kubernetes kaynaklarının tanımlanmasında sık kullanılan YAML biçiminde girintileme, anahtar-değer yapısı ve listeleri anlamanız gerekir.

5. Git

Örnek projeleri saklamak, yapılandırma değişikliklerini takip etmek ve çalışmalarınızı paylaşmak için Git kullanabilirsiniz.

Kubernetes Temel Kavramları Nelerdir?

Kubernetes öğrenirken aşağıdaki kavramları anlamak ilk büyük adımdır.

Kavram Ne İşe Yarar?
Cluster Kubernetes tarafından yönetilen makine ve kaynakların bütünü
Node Uygulama iş yüklerinin çalıştığı makine
Pod Bir veya birden fazla konteyneri barındıran en küçük dağıtılabilir birim
Deployment Genellikle durum bilgisi tutmayan uygulamaların istenen kopya sayısını ve güncellemelerini yönetir
Service Pod gruplarına kararlı ağ erişimi sağlar
Namespace Küme kaynaklarını mantıksal gruplara ayırır
ConfigMap Gizli olmayan yapılandırma verilerini saklar
Secret Hassas yapılandırma verilerini tutmak için kullanılan Kubernetes nesnesidir
Ingress Uygun denetleyiciyle HTTP/HTTPS trafiğini servislere yönlendirir
PersistentVolume Kalıcı depolama kaynaklarını temsil eder

Kubernetes Mimarisi Nasıl Çalışır?

Bir Kubernetes kümesi genel olarak kontrol düzlemi (control plane) ve işçi düğümlerinden (worker nodes) oluşur.

Kontrol düzlemindeki API server, scheduler ve controller manager gibi bileşenler kümenin yönetiminde görev alır. Worker node üzerindeki kubelet ve diğer bileşenler ise uygulama iş yüklerinin çalıştırılmasına yardımcı olur.

Öğrenme ipucu: Önce Pod, Deployment ve Service ilişkisini kavrayın. Daha sonra depolama, ağ ve güvenlik gibi ileri konulara geçin.

Kubernetes Ücretsiz Nasıl Öğrenilir?

Kubernetes öğrenmek için ücretli bir bulut sunucusu satın almak zorunda değilsiniz. Yerel Kubernetes ortamları ve resmî dokümantasyon başlangıç için yeterli olabilir.

1. Kubernetes Resmî Dokümantasyonu

Kubernetes Documentation, temel kavramları, komutları, mimariyi ve uygulama örneklerini öğrenmek için başvurulabilecek en önemli kaynaklardan biridir.

2. Kubernetes Basics

Kubernetes Basics rehberi, küme oluşturma, uygulama dağıtma, ölçeklendirme ve güncelleme gibi konuları adım adım açıklar.

Eski tarayıcı içi etkileşimli laboratuvarların bir bölümü artık çalışmadığından komutları yerel bir Kubernetes ortamında uygulayabilirsiniz.

3. minikube

minikube, kişisel bilgisayarınızda Kubernetes kümesi oluşturmanıza yardımcı olan ücretsiz ve açık kaynaklı bir araçtır.

4. kind

kind, Docker veya Podman konteynerleri üzerinden yerel Kubernetes düğümleri oluşturmak için kullanılabilir.

5. Docker Dokümantasyonu

Docker Get Started içerikleri, Kubernetes öncesinde konteyner kavramlarını öğrenmek isteyenler için uygundur.

6. CNCF Eğitim Kaynakları

CNCF Training sayfasında bulut yerel teknolojilerle ilgili öğrenme ve eğitim kaynakları bulunur. Bazı eğitimler ücretli olabilir.

Ücretsiz öğrenme notu: Resmî dokümanlar ve açık kaynak araçlar ücretsizdir. Ancak bulut üzerinde sanal makine veya yönetilen Kubernetes hizmeti kullanırsanız ücret oluşabilir. Başlangıçta yerel küme kullanmak maliyeti kontrol altında tutar.

Kubernetes 8 Haftalık Ücretsiz Öğrenme Yol Haritası

Aşağıdaki plan, haftada yaklaşık 5-7 saat çalışabilecek yeni başlayanlar için örnek olarak hazırlanmıştır. Süre, mevcut teknik bilgiye göre değişebilir.

Hafta Öğrenilecek Konu Uygulama Hedefi
1 Linux ve ağ temelleri Terminal komutları, IP, DNS ve port kavramlarını öğrenmek
2 Docker ve konteynerler Hazır image çalıştırmak, basit Dockerfile hazırlamak
3 Kubernetes mimarisi Cluster, Node, Pod ve kontrol düzlemini öğrenmek
4 kubectl ve Deployment Yerel küme oluşturmak, uygulama dağıtmak
5 Service ve ağ erişimi Uygulamaya erişmek, port yönlendirmeyi öğrenmek
6 YAML, ConfigMap, Secret Bildirimsel kaynak dosyaları hazırlamak
7 Ölçeklendirme ve hata ayıklama Replica sayısını değiştirmek, logları incelemek
8 Mini proje ve tekrar Bir uygulamayı dağıtmak, güncellemek ve belgelemek

Bu planın sonunda Kubernetes'i profesyonel düzeyde yönetmeniz beklenmez. Ama temel nesneleri kullanabilen ve basit bir uygulamayı yerel kümede çalıştırabilen bir seviyeye ulaşmayı hedefleyebilirsiniz.

İlk Kubernetes Ortamı Nasıl Kurulur?

Başlangıç için minikube kullanabilirsiniz. İşletim sisteminize uygun kurulum adımlarını resmî Kubernetes araç kurulum rehberinden ve minikube belgelerinden kontrol edin.

1. kubectl ve minikube Kurun

Önce işletim sisteminizle uyumlu kubectl ve minikube sürümlerini yükleyin. minikube için uygun bir sanallaştırma veya konteyner sürücüsü de gereklidir.

2. Yerel Kümeyi Başlatın

minikube start

Bu komut, uygun sürücü ve sistem kaynakları mevcutsa yerel Kubernetes kümesini başlatır.

3. Düğümleri Kontrol Edin

kubectl get nodes

Komut, erişebildiğiniz kümedeki düğümleri listeler.

4. Basit Bir Uygulama Dağıtın

kubectl create deployment web-demo --image=nginx:stable

Bu komut, Nginx konteynerini çalıştıran bir Deployment oluşturur.

5. Pod Durumunu İnceleyin

kubectl get pods

Pod'un hazır hâle gelmesi, image indirme süresine ve sistem koşullarına bağlı olarak biraz zaman alabilir.

6. Uygulamaya Yerel Erişim Sağlayın

kubectl port-forward deployment/web-demo 8080:80

Komut çalışır durumdayken tarayıcınızdan http://localhost:8080 adresini ziyaret ederek Nginx sayfasını görüntüleyebilirsiniz.

Not: Bu komutlar öğrenme amaçlı yerel ortam içindir. Kurulum için bilgisayarınızın yeterli bellek ve işlemci kaynağına sahip olması gerekir. Komutların çalışması, araçların doğru kurulmasına ve kümenin hazır olmasına bağlıdır.

Kubernetes YAML Dosyası Nasıl Yazılır?

Kubernetes kaynakları, YAML biçimindeki bildirimsel yapılandırma dosyalarıyla tanımlanabilir.

Örneğin aşağıdaki dosya, iki Nginx Pod kopyası çalıştırmayı hedefleyen bir Deployment tanımlar.

Örnek deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-demo
  template:
    metadata:
      labels:
        app: nginx-demo
    spec:
      containers:
        - name: nginx
          image: nginx:stable
          ports:
            - containerPort: 80

Dosyayı deployment.yaml adıyla kaydettikten sonra şu komutu çalıştırabilirsiniz:

kubectl apply -f deployment.yaml

Ardından Deployment durumunu kontrol edin:

kubectl get deployments
kubectl get pods

Önemli: YAML dosyalarında girintileme önemlidir. Yanlış girintileme veya alan isimleri, kaynağın oluşturulmasını engelleyebilir.

Yeni Başlayanlar İçin En Önemli kubectl Komutları

Komut Görevi
kubectl get pods Pod listesini gösterir
kubectl get nodes Küme düğümlerini listeler
kubectl get services Servisleri listeler
kubectl describe pod POD_ADI Pod ayrıntılarını ve olayları gösterir
kubectl logs POD_ADI Pod loglarını görüntüler; çok konteynerli Pod'larda konteyner seçimi gerekebilir
kubectl apply -f dosya.yaml YAML yapılandırmasını uygular
kubectl scale deployment/web-demo --replicas=3 Deployment için istenen kopya sayısını değiştirir
kubectl get all Geçerli namespace'teki bazı yaygın kaynak türlerini listeler; tüm Kubernetes kaynaklarını kapsamaz

Bu komutları ezberlemek yerine gerçek bir kümede kullanarak öğrenmek daha kalıcı sonuç verebilir.

Kubernetes Mini Proje: Nginx Uygulamasını Ölçeklendirme

Temel konuları öğrendikten sonra küçük bir uygulama geliştirerek bilgilerinizi pekiştirebilirsiniz.

Proje Hedefi

Bir Nginx uygulamasını Kubernetes kümesine dağıtmak, kopya sayısını artırmak ve çalışma durumunu kontrol etmek.

Adım 1: Deployment Oluşturun

kubectl create deployment mini-web --image=nginx:stable

Adım 2: Uygulamayı Ölçeklendirin

kubectl scale deployment/mini-web --replicas=3

Adım 3: Pod'ları Kontrol Edin

kubectl get pods

Adım 4: Uygulamaya Erişin

kubectl port-forward deployment/mini-web 8081:80

Tarayıcınızdan http://localhost:8081 adresini ziyaret edin.

Adım 5: Kaynakları Temizleyin

Port yönlendirme işlemini durdurduktan sonra:

kubectl delete deployment mini-web

Bu mini projede uygulama dağıtma, Pod inceleme, ölçeklendirme ve kaynak silme adımlarını deneyimlemiş olursunuz.

Kubernetes Öğrenirken En Sık Yapılan Hatalar

  1. Docker öğrenmeden Kubernetes'e geçmek: Konteyner mantığının anlaşılmasını zorlaştırabilir.
  2. Yalnızca video izlemek: Uygulama yapılmadığında komutların kullanım amacı yeterince pekişmeyebilir.
  3. Tüm kavramları aynı anda öğrenmek: Önce Pod, Deployment ve Service konularına odaklanmak daha kolaydır.
  4. Hata mesajlarını okumamak: describe, logs ve olay kayıtları önemli ipuçları sağlar.
  5. Doğrudan ücretli bulut hizmetleriyle başlamak: Yerel ortamlar başlangıç maliyetini azaltabilir.
  6. Güvenlik konularını ihmal etmek: Yetkilendirme, Secret yönetimi ve kaynak izinleri önemlidir.
  7. Proje oluşturmamak: Öğrenilen bilgileri gerçek bir uygulamada birleştirmek gelişimi destekler.

Kubernetes Öğrenmek Ne Kadar Sürer?

Kubernetes öğrenme süresi kişinin Linux, ağ, Docker ve yazılım altyapısı bilgisine göre değişir.

Seviye Örnek Süre Hedef
Başlangıç 2-4 hafta Temel kavramları tanımak
Temel uygulama 6-8 hafta Yerel kümede uygulama dağıtmak
Orta seviye 3-6 ay Ağ, depolama, güvenlik ve hata ayıklama konularını geliştirmek
İleri seviye Devamlı deneyim Üretim ortamları, güvenlik, izleme ve operasyon yönetimi

Bu süreler kesin değildir. Düzenli uygulama yapmak, yalnızca teorik çalışmaya kıyasla becerilerin daha hızlı gelişmesini sağlayabilir.

Kubernetes Öğrenenler Hangi Alanlarda Çalışabilir?

Kubernetes bilgisi, özellikle bulut altyapıları ve yazılım operasyonlarıyla ilgili teknik rollerde yararlı olabilir.

  • DevOps mühendisliği
  • Platform mühendisliği
  • Bulut altyapı yönetimi
  • Site Reliability Engineering (SRE)
  • Sistem ve altyapı yönetimi
  • Bulut yerel uygulama geliştirme

Ancak Kubernetes bilgisi tek başına bu pozisyonlarda çalışmak için yeterli olmayabilir. İşverenler Linux, ağ, otomasyon, güvenlik, bulut platformları ve yazılım geliştirme gibi ek yetkinlikler de arayabilir.

Kubernetes Eğitimi ve Sertifika Programları

Kubernetes'i ücretsiz kaynaklarla öğrenmeye başlayabilirsiniz. Daha yapılandırılmış bir eğitim süreci arayanlar ise üniversitelerin ilgili eğitim programlarını inceleyebilir.

İstanbul Kent Üniversitesi'nin Kubernetes ve Docker konularına yönelik programları arasında aşağıdaki seçenekler bulunmaktadır.

1. Orchestration & Kubernetes Sertifika Programı

Orkestrasyon ve Kubernetes teknolojileri üzerine bilgi edinmek isteyenler için hazırlanmış bir eğitim seçeneğidir.

Orchestration & Kubernetes Sertifika Programını İncele

2. Docker Kubernetes Service Sertifika Programı

Docker ve Kubernetes teknolojilerini birlikte ele alan, konteyner tabanlı uygulama yönetimiyle ilgilenenlere yönelik bir programdır.

Docker Kubernetes Service Sertifika Programını İncele

3. Docker ve Kubernetes Temelleri Eğitim Programı

Docker ve Kubernetes konularında temel bilgi edinmeyi hedefleyenler, programın güncel kapsamını ve katılım koşullarını inceleyebilir.

Docker ve Kubernetes Temelleri Eğitim Programını İncele

Eğitim bilgisi: Üniversitenin ilgili program sayfalarında online eğitim, üniversite onaylı Eğitim Sertifikası ve e-Devlet'te sorgulanabilir belge seçenekleri tanıtılmaktadır. Güncel eğitim içeriği, erişim süresi, başvuru durumu ve belgelendirme koşulları için her programın resmî sayfası esas alınmalıdır. Bu programlar, yukarıda sıralanan ücretsiz kaynaklardan ayrı eğitim seçenekleridir.

Kubernetes Hakkında Sık Sorulan Sorular

Kubernetes nedir?

Kubernetes, konteynerleştirilmiş uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştiren açık kaynaklı bir platformdur.

Kubernetes nasıl öğrenilir?

Linux, ağ ve Docker temelleri öğrenildikten sonra Kubernetes nesneleri, kubectl komutları ve yerel küme uygulamalarıyla ilerlenebilir.

Kubernetes ücretsiz öğrenilebilir mi?

Evet. Resmî Kubernetes dokümantasyonu, minikube, kind ve açık kaynak kaynaklarla ücretsiz öğrenilebilir.

Kubernetes öğrenmek zor mu?

Başlangıçta çok sayıda kavram içerdiği için zorlayıcı olabilir. Konuları aşamalı öğrenmek ve uygulama yapmak süreci kolaylaştırır.

Kubernetes öğrenmek için Docker bilmek şart mı?

Teknik olarak zorunlu değildir. Ancak Docker ve konteyner temellerini bilmek Kubernetes'i anlamayı kolaylaştırır.

Kubernetes öğrenmek için yazılım bilmek gerekir mi?

İleri düzey yazılım geliştirme bilgisi başlangıç için şart değildir. Temel terminal, ağ ve yapılandırma bilgisi yararlıdır.

Kubernetes öğrenmek ne kadar sürer?

Temel kavramlar ve yerel uygulamalar için yaklaşık 6-8 haftalık düzenli çalışma bir başlangıç planı olabilir. Süre kişiye göre değişir.

minikube nedir?

minikube, kişisel bilgisayarda yerel Kubernetes kümesi oluşturmak için kullanılan açık kaynaklı bir araçtır.

kubectl nedir?

kubectl, Kubernetes kümeleriyle iletişim kurmak ve kaynakları yönetmek için kullanılan komut satırı aracıdır.

Pod ve Deployment arasındaki fark nedir?

Pod konteynerleri barındıran temel çalışma birimidir. Deployment ise genellikle birden fazla Pod'un istenen durumda çalışmasını ve güncellenmesini yönetir.

Kubernetes sertifikası almak zorunlu mu?

Hayır. Kubernetes öğrenmek veya projeler geliştirmek için sertifika zorunlu değildir. Bazı işverenler belirli belgeleri tercih edebilir.

Kubernetes öğrenenler hangi işlerde çalışabilir?

Gerekli diğer teknik becerilerle birlikte DevOps, platform mühendisliği, bulut altyapısı ve SRE gibi alanlara yönelebilirler.

Sonuç: Kubernetes Öğrenmeye Nereden Başlamalısınız?

Kubernetes öğrenmek için en doğru başlangıç, temel konteyner mantığını anlamak ve küçük uygulamalarla pratik yapmaktır.

Önce Linux, ağ ve Docker bilgilerinizi geliştirin. Ardından Kubernetes mimarisini, Pod, Deployment ve Service gibi temel nesneleri öğrenin.

Resmî dokümantasyondaki örnekleri minikube veya kind üzerinde çalıştırarak ilerleyin. Komutları uygulamak, hataları incelemek ve küçük projeler hazırlamak öğrenme sürecini destekleyecektir.

Kubernetes öğrenmenin temelinde yalnızca komut ezberlemek değil, konteyner uygulamalarının nasıl yönetildiğini anlamak ve bu bilgiyi uygulamaya dönüştürmek vardır.

Kaynaklar ve İlgili Eğitimler

Güncelleme: 7 Kasım 2026. Kubernetes araçlarının sürümleri ve kurulum gereksinimleri değişebileceğinden en güncel resmî dokümantasyon kullanılmalıdır.

Diğer Yazılarımız

Yorumlar

Düşüncelerini paylaş

Yeni Yorum


Son İncelemeler

Ücretsiz kampanya ve sohbet gruplarımıza göz atmak ister misiniz?

Keşfet