Giriş

Minikube, dizüstü bilgisayarınızda gerçek bir upstream Kubernetes cluster'ı çalıştırır — ve adına rağmen, 2020'deki v1.10 sürümünden beri yalnızca tek node ile sınırlı değil. 2026'da kind ve k3d ile birlikte üç ciddi yerel Kubernetes seçeneğinden biri ve doğru tercih, ne yaptığınıza bağlı. Önce rafa kaldırılması gereken eski bir fikir: hypervisor'a ihtiyacınız yok. Docker driver yıllardır minikube'ün varsayılan ve tercih edilen driver'ı; cluster, zaten sahip olduğunuz Docker engine üzerinde bir container'ın içinde çalışıyor. VirtualBox ve Hyper-V driver olarak hâlâ mevcut, ama artık bir ön koşul değil, eski usul yol.

Minikube Kurulumu

Platformunuzu seçin:

# macOS
brew install minikube

# Windows
winget install Kubernetes.minikube

# Linux
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

kubectl kurulu değilse, minikube kendi içinde bir tane barındırır — minikube kubectl -- get nodes şeklinde çalıştırın ya da bir alias ekleyip konuyu kapatın.

Hızlı Başlangıç: Sıfırdan Çalışan Bir Servise

Cluster'ı başlatın ve bir şey deploy edin — kubectl get nodes'ta duran bir eğitim size henüz Kubernetes'i göstermemiştir:

minikube start --driver=docker
kubectl get nodes

kubectl create deployment web --image=nginx:1.27
kubectl expose deployment web --type=NodePort --port=80
minikube service web

Son komut, cluster içindeki NodePort'a tünel açarak servisi tarayıcınızda görüntüler. Buradan sonrası, minikube'ün asıl hakkını verdiği yer olan addon'lar — normalde elle kuracağınız parçalar için birer komut yetiyor:

minikube addons enable ingress
minikube addons enable metrics-server
minikube dashboard

Yeni başlayanların çoğunu tökezleten adım, kendi kodunuzu çalıştırmaktır: cluster, yalnızca host'unuzun Docker daemon'ında bulunan imajları göremez; bu yüzden lokalde build edilmiş bir tag'e karşı düz bir kubectl create deployment, ImagePullBackOff ile başarısız olur. Ya build'den sonra imajı cluster'a yükleyin ya da shell'inizin Docker istemcisini minikube'ün runtime'ına yönlendirip doğrudan onun içinde build alın:

# seçenek 1: host'ta build al, sonra içeri kopyala
minikube image load shop-api:dev

# seçenek 2: doğrudan cluster'ın runtime'ına build al
eval $(minikube docker-env)
docker build -t shop-api:dev .

Her iki durumda da deployment'a imagePullPolicy: IfNotPresent ayarlayın ki Kubernetes bir registry'den çekmeye çalışmak yerine lokal imajı kullansın.

Scheduling davranışını, pod disruption budget'ları veya node arızasını prova etmek mi istiyorsunuz? Çok node'lu bir cluster oluşturun ve Kubernetes sürümünü production ile eşleşecek şekilde sabitleyin:

minikube start --nodes 3 --kubernetes-version=v1.33.1 -p lab
kubectl get nodes
minikube stop -p lab      # cluster'ı duraklat
minikube delete -p lab    # tamamen kaldır

Minikube vs kind vs k3d

Üçü de iyi araçlar; farklı şeyler için optimize edilmişler.

  • minikube en eksiksiz yerel deneyimi sunar: upstream Kubernetes, bir addon kataloğu (ingress, metrics-server, registry), birden fazla driver ve container runtime ile seçilebilir Kubernetes sürümleri. Öğrenme, günlük geliştirme ve production davranışını lokalde yeniden üretmek için en iyisi.
  • kind (Kubernetes-in-Docker), Kubernetes'in kendisini test etmek için geliştirildi. Cluster'lar küçük bir YAML dosyasında tanımlanır, hızla başlar ve gözden çıkarılması zahmetsizdir — birden fazla Kubernetes sürümüne karşı her test koşusu için cluster ayağa kaldırması gereken CI/CD pipeline'larına hükmetmesinin nedeni de budur. Konfor unsurları daha azdır: addon sistemi yoktur; ingress veya load balancer sizin sorumluluğunuzdadır.
  • k3d, hafif ve CNCF sertifikalı dağıtım olan k3s'i Docker içinde çalıştırır. En hızlı başlayan ve RAM'e en az yüklenen seçenektir, yerleşik bir load balancer ile gelir ve edge veya production ortamınız zaten k3s çalıştırıyorsa doğal tercihtir.

Pratik kural: geliştirme ve öğrenme için minikube; CI'da kullan-at cluster'lar için kind; k3s uyumu veya güçsüz bir laptop için k3d.

Sonuç

Yerel bir cluster mükemmel bir geliştirme aracıdır ama zayıf bir production provasıdır — gerçek bir ortamın ortaya çıkaracağı load balancer tuhaflıklarını, IAM sınırlarını veya upgrade sancılarını göstermez. O adıma hazır olduğunuzda, gerçek hayatta Kubernetes notlarımız nelerin değiştiğini anlatıyor; DevOps ekibimiz de ekiplerin minikube start'tan production kalitesinde bir cluster'a giden yolu tasarlamasına yardımcı oluyor.

Bunu production'da mı çalıştırıyorsunuz? AWS Yönetilen Hizmetler ekibimiz böyle ortamları 7/24 işletiyor — izleme, olay müdahalesi, yama ve maliyet kontrolü, ismen bildiğiniz kıdemli mühendislerle, aylık €3.000'den başlayan fiyatlarla.