Kubernetes nedir? Konteynerlerinizi nasıl yönetirsiniz?
Kubernetes, konteynerleştirilmiş uygulamaları üretim ortamında çalıştırmak için tasarlanmış açık kaynak bir orkestrasyon platformu. Google tarafından geliştirilen ve şimdi Linux Foundation tarafından yönetilen bu sistem, Docker gibi konteyner teknolojilerinin karmaşıklığını yönetmeyi kolaylaştırır.
Sorun şu: bir uygulamanız binlerce konteynerde çalışıyorsa, hangisinin çalışıp çalışmadığını, kaynakları nasıl dağıtacağınızı, güncellemeleri nasıl yapacağınızı elle kontrol edemezsiniz. Kubernetes bunu otomatikleştirir. Uygulamanızın kaç kopya çalışması gerektiğini tanımlarsınız, sistem bunu sağlar. Bir konteynır çöker mi, yeni bir tane başlatır. Trafik artar mı, otomatik olarak ölçekler.
Temel kavramlar: Pod, Kubernetes'in en küçük birimi ve genellikle bir konteynırı içerir. Deployment, podları nasıl çalıştıracağınızı tanımlarsınız. Service, podlara ağ üzerinden erişim sağlar. Namespace, kaynakları mantıksal gruplara ayırır.
Basit bir örnek:
1apiVersion: apps/v12kind: Deployment3metadata:4name: web-app5spec:6replicas: 37selector:8matchLabels:9app: web10template:11metadata:12labels:13app: web14spec:15containers:16- name: nginx17image: nginx:latest18ports:19- containerPort: 80Bu YAML dosyası Kubernetes'e "web-app adında 3 kopya nginx çalıştır" der. Eğer bir pod düşerse, sistem yeni bir tane başlatır.
Kubernetes öğrenmek başlangıçta karmaşık görünür, ancak minikube veya Docker Desktop'taki yerleşik Kubernetes ile yerel makinenizde deneyebilirsiniz. Büyük ölçekli uygulamalar için neredeyse standart hale gelmiş bir araç.
0 yorum