Kubernetes Nedir ve Konteynerler Nasıl Yönetilir
Kubernetes, konteyner uygulamalarını otomatik olarak dağıtmak, ölçeklendirmek ve yönetmek için açık kaynak bir platform. Docker gibi araçlarla paketlediğiniz uygulamaları birden fazla sunucuda çalıştırmanız gerektiğinde Kubernetes devreye giriyor.
Temel olarak Kubernetes şu işleri yapıyor: Uygulamanızı kaç kopyasının çalışması gerektiğini belirlersiniz, platform otomatik olarak o sayıda konteyner başlatır. Bir sunucu çökerse, uygulamanız başka bir sunucuda yeniden başlar. Trafiğin artmasına göre konteyner sayısını artırır, azalmasına göre azaltır.
Kubernetes'in temel bileşenleri şöyle çalışır: Cluster adı verilen birden fazla sunucudan oluşan bir sistem vardır. Master node (kontrol düğümü) kararları alır, worker nodes ise uygulamaları çalıştırır. Pod adı verilen en küçük birim, genellikle bir Docker konteynerini içerir. Service, podlara erişim sağlayan ve trafiği dağıtan bir mekanizmadır.
Pratik örnek olarak, bir web uygulamasını Kubernetes'te çalıştırmak için YAML dosyası yazarsınız:
1apiVersion: apps/v12kind: Deployment3metadata:4name: web-app5spec:6replicas: 37selector:8matchLabels:9app: web10template:11metadata:12labels:13app: web14spec:15containers:16- name: web17image: myapp:1.018ports:19- containerPort: 8080Bu yapılandırma, "web-app" adında bir uygulama oluşturur ve her zaman 3 kopya çalışmasını sağlar. Eğer bir pod kapanırsa, Kubernetes otomatik olarak yeni bir tane başlatır.
Kubernetes büyük ölçekli uygulamalar için tasarlanmıştır ama öğrenme eğrisi diktir. Başlangıçta Minikube gibi yerel test ortamlarında pratik yapabilirsiniz. Üretim ortamında ise AWS EKS, Google GKE veya Azure AKS gibi yönetilen hizmetler kullanılır, böylece altyapı yönetimi sağlayıcı tarafından yapılır.
0 yorum