Merhaba, bu yazımız da Kubernetes ortamını Hyper-V ile nasıl çalıştıracağımızdan bahsedeceğiz.
Minikube, yerel bir Kubernetes kümesi kurmanın en kolay ve hızlı yoludur. Hem geliştiriciler için ideal bir başlangıç noktası sunar, hem de Kubernetes dünyasına yeni adım atanlar için mükemmel bir öğrenme aracıdır. Minikube, Kubernetes’in çalışma prensiplerini, etkileşim yöntemlerini ve sistem yapısını kavramanıza yardımcı olur. Özellikle, Kubernetes ile ilgili temel bilgileri öğrendikten sonra, daha büyük ve karmaşık sistemleri sıfırdan kurma sürecinde bu bilgiler değerli bir temel teşkil edecektir.
MiniKube Özellikleri
Minikube, Kubernetes öğrenme ve test süreçlerinde çok yönlü bir çözüm sunarak farklı özelliklerle donatılmıştır. İşte Minikube’un bazı dikkat çekici özellikleri:
- Çapraz Platform Desteği: Linux, macOS ve Windows dahil olmak üzere tüm büyük işletim sistemlerinde çalışabilir, böylece farklı platformlarda sorunsuz bir şekilde deneyim sağlar.
- Esnek Dağıtım Seçenekleri: Kullanılabilir kaynaklara bağlı olarak hem sanal makine (VM) üzerinde hem de doğrudan fiziksel donanımda çalıştırılabilir.
- Geniş Konteyner Desteği: Docker, CRI-O ve containerd gibi popüler konteyner çalışma zamanlarını destekler, bu da farklı konteyner teknolojileriyle uyumluluğu artırır.
- Güncel Sürüm Desteği: En son Kubernetes sürümleri ile uyumlu çalışır ve son altı minor sürümü destekler, bu da güncel özelliklerle çalışma imkanı sunar.
- Dahili Docker API: Docker’ın API uç noktasını içerir, bu sayede Docker imajlarını hızlı bir şekilde yerel ortama aktarabilirsiniz.
- Gelişmiş Öğrenme Araçları: LoadBalancer, dosya sistemi bağlamaları ve FeatureGates gibi gelişmiş özelliklerle daha derinlemesine öğrenme fırsatı sunar.
- Eklenti Desteği: Kubernetes eklentilerini destekler, böylece çeşitli uygulama eklentileri ile deneyimlerinizi genişletebilirsiniz.
- Kullanıcı Dostu CLI: Minikube’un komut satırı arayüzü kullanıcı dostudur ve tüm kontrol düzlemi işlemleri bu aracılığıyla yönetilir, kullanım kolaylığı sağlar.
Minikube Sistem Gereksinimleri
Chocolatey’nin yüklenmesi için PowerShell üzerinden aşağıdaki komutu çalıştırınız. Bu komut, yürütme politikasını geçici olarak değiştirir ve güvenli bir şekilde script çalıştırmayı sağlar.
- Windows , MacOS veya Linux işletim sistemi.
- Default 2 Core CPU , 2 GB RAM , 20 GB Disk (Ölçeklendirme yapılabilir.)
- VirtualBox, VMware Workstation, Hyper-V
- Bilgisayarınızın sanallaştırma etkin olması gerekir.
Chocolatey Nedir?
Chocolatey, Windows işletim sistemleri için geliştirilmiş bir paket yöneticisidir. Bu araç, Linux’taki apt-get
gibi komutlarla benzer işlevselliği Windows kullanıcılarına sunarak, “CMD” veya “Powershell” aracılığıyla doğrudan üçüncü taraf uygulamaları ve paketleri yüklemeye olanak tanır.
NuGet ile karşılaştırıldığında, Chocolatey daha geniş çaplı bir paket yöneticisi olarak ön plana çıkar. Eğer açık kaynaklı bir projeniz varsa ve bu projeyi diğer geliştiricilerin kullanımına sunmak istiyorsanız, NuGet bu tür kütüphaneler için uygun bir platformdur. Ancak, kullanıcıların doğrudan yüklemesi gereken uygulamalar söz konusu olduğunda, Chocolatey bu uygulamaları kolayca kurup güncelleyebilecekleri paketler oluşturmanıza imkan verir.
Chocolatey’nin en büyük avantajlarından biri, indirilen paketlerle birlikte gerekli bağımlılıkları da otomatik olarak yönetmesidir. Bu özellik, kullanıcılara büyük bir zaman tasarrufu sağlar ve işlemleri kolaylaştırır. Kullanımı son derece basit ve kullanıcı dostu olan Chocolatey, ayrıca domain içinde veya erişiminiz olan uzak bir bilgisayara fiziksel olarak yanında bulunmadan paket yüklemenize olanak tanır. Bu özellikler, özellikle terminal kullanmayı seven Linux kullanıcıları için de çekici olabilir.
Örneğin, Java SE Runtime Environment 8.0.161 paketinin yüklenmesi sırasında hash değerleri eşleşmediğinde, Chocolatey otomatik olarak paketi yeniden indirir. Bu, güvenilir ve hatasız bir kurulum sürecini garanti etmektedir.
Chocolatey Yükleme Adımları (Install Chocolatey)
Chocolatey’nin yüklenmesi için PowerShell üzerinden aşağıdaki komutu çalıştırınız. Bu komut, yürütme politikasını geçici olarak değiştirir ve güvenli bir şekilde script çalıştırmayı sağlar.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Bu komut, internet üzerinden Chocolatey kurulum scriptini indirir ve çalıştırır. Kurulum sırasında gerekli tüm ayarlar otomatik olarak yapılandırılır.
Minikube Kurulumu
Minikube, yerel bir Kubernetes kümesi çalıştırmanıza olanak tanır. Minikube’u Chocolatey kullanarak kolayca yüklemek için aşağıdaki PowerShell komutunu kullanabilirsiniz:
choco install minikube
Bu komut, Minikube paketini Chocolatey üzerinden bulur ve yükler. Kurulum sırasında kullanıcıdan onay istenebilir; bu durumda ‘Y’ tuşuna basarak kuruluma devam edebilirsiniz.
Kurulumlar tamamlandıktan sonra, Hyper-V konsol üzerinden minikube sisteminizi başlatabilirsiniz.
Not: Bazen hyper-v sistem oluşturma sırasında hata verebiliyor, eğer bu hata ile karşılaşırsanız manuel olarak bir sistem oluşturduktan sonra minikube uygulamasını yükleyin.
Hyper-V ile Minikube Uygulaması Başlatma
Minikube kümeniz artık aktif durumda. Bu küme üzerinde etkileşimde bulunmak için aşağıdaki komutları kullanabilirsiniz.
Minikube Kümesiyle Etkileşim: Minikube üzerinde çalışan pod’ları listelemek için aşağıdaki komutu kullanabilirsiniz:
kubectl get po -A
Bu komut, tüm ad alanlarındaki pod’ları gösterir ve kümenizin genel durumu hakkında bilgi verir.
Minikube Dashboard’una Erişim: Grafiksel bir kullanıcı arayüzü aracılığıyla küme durumunu izlemek isterseniz, Minikube dashboard’ını aşağıdaki komut ile başlatabilirsiniz:
minikube dashboard
Bu komut, varsayılan web tarayıcınızda Minikube dashboard’unu açar, böylece kümeyi görsel olarak yönetebilir ve izleyebilirsiniz.
Test Uygulaması Çalıştırma: Bir test uygulaması çalıştırmak için, önce bir deployment oluşturun ve ardından bu deployment’ı bir servis ile dış dünyaya açın:
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube
minikube service hello-minikube
Bu komutlar sırasıyla:
hello-minikube
adında bir deployment oluşturur.- Oluşturulan deployment’ı bir NodePort türünde servis olarak dışa açar.
- Servisin durumunu kontrol eder.
- Minikube, tarayıcıda bu servisin çalıştığı sayfayı otomatik olarak açar.
Minikube’ü Durdurma: Minikube kümenizi durdurmak isterseniz, aşağıdaki komutu kullanabilirsiniz:
minikube stop
Bu komut, Minikube kümenizi güvenli bir şekilde durdurur. Bir sonraki yazımızda daha fazla Minikube özelliğinden ve kapsamlı kullanım senaryolarından bahsedeceğiz. Görüşmek üzere!