Kubernetes ile Sunucu Orkestrasyonu: Adım Adım Kurulum ve Yönetim

26 Eylül 2024 5 mins to read
Share

Günümüzün dijital dünyasında, uygulamaların yönetimi ve ölçeklendirilmesi her zamankinden daha karmaşık hale gelmiştir. İşte bu noktada, Kubernetes devreye giriyor. Kubernetes, konteynerleştirilmiş uygulamaları otomatikleştirilmiş bir şekilde dağıtmak, yönetmek ve ölçeklendirmek için kullanılan güçlü bir açık kaynak platformudur. Bu makalede, Kubernetes ile sunucu orkestrasyonu hakkında adım adım kurulum ve yönetim süreçlerini ele alacağız. Kubernetes, konteynerleştirilmiş uygulamaları yönetmek için güçlü ve esnek bir platformdur. Bu makalede, Kubernetes ile sunucu orkestrasyonunu adım adım kurulum ve yönetim süreçleri ile ele aldık. Minikube kullanarak yerel bir Kubernetes kümesi oluşturabilir, pod’lar ve servisler tanımlayabilir, güncellemeler yapabilir ve otomatik ölçeklendirme işlemlerini gerçekleştirebilirsiniz.

Kubernetes Nedir?

Kubernetes, Google tarafından geliştirilmiş ve şu anda Cloud Native Computing Foundation tarafından yönetilen bir açık kaynak projesidir. Konteynerlerin dağıtımını ve yönetimini kolaylaştırır. Kubernetes, birçok farklı iş yükünü yönetebilir ve uygulamaların güvenilirliğini artırır. Ayrıca, uygulama güncellemelerini kesintisiz bir şekilde gerçekleştirmenizi sağlar.

Kubernetes’in Temel Bileşenleri

  • Pod: Kubernetes’te en temel dağıtım birimidir. Bir veya daha fazla konteyner içerebilir.
  • Node: Kubernetes kümesindeki fiziksel veya sanal makinelerdir. Pod’ları çalıştırmak için kullanılır.
  • Küme (Cluster): Bir veya daha fazla node’dan oluşan bir gruptur. Tüm Kubernetes kaynakları bu küme içinde yönetilir.
  • Kubelet: Node’larda çalışan ve pod’ların durumunu yöneten bir ajandır.
  • Kubernetes API: Kubernetes kaynakları ile etkileşim kurmak için kullanılan bir RESTful API’dir.

Kubernetes Kurulumu

1. Gerekli Araçların Kurulumu

Kubernetes’i kurmadan önce, bazı gerekli araçları sisteminize kurmanız gerekir. Bu araçlar şunlardır Gelişen teknoloji ve iş yükleri, Kubernetes gibi orkestrasyon çözümlerine olan ihtiyacı artırmaktadır. Kubernetes ile sunucu yönetiminizi daha etkili ve verimli hale getirerek, uygulama geliştirme süreçlerinizi hızlandırabilirsiniz.

  • kubectl: Kubernetes komut satırı aracı. Küme ile etkileşimde bulunmak için kullanılır.
  • Minikube: Yerel bir Kubernetes kümesi oluşturmak için kullanılan bir araçtır. Geliştirme ve test aşamalarında idealdir.
  • Docker: Konteyner görüntülerini oluşturmak ve çalıştırmak için kullanılır.

2. Minikube ile Kubernetes Kurulumu

Minikube kullanarak yerel bir Kubernetes kümesi kurmak oldukça basittir. Aşağıdaki adımları izleyebilirsiniz:

  • Minikube’u İndirin: Minikube’un en son sürümünü indirin ve kurun.
  • Minikube Başlatma: Komut satırına minikube start yazın. Bu komut, yerel bir Kubernetes kümesi başlatır.
  • Kubectl ile Bağlantı Kurma: kubectl cluster-info komutunu kullanarak küme durumunu kontrol edebilirsiniz.

3. Pod Oluşturma

Kubernetes kümeniz kurulduktan sonra, ilk pod’unuzu oluşturabilirsiniz. Aşağıdaki örnek YAML dosyasını kullanarak bir pod oluşturabilirsiniz:

apiVersion: v1
kind: Pod
metadata:
  name: my-nginx
spec:
  containers:
  - name: nginx
    image: nginx:latest

Bu dosyayı nginx-pod.yaml olarak kaydedin ve ardından aşağıdaki komut ile pod’u oluşturun:

kubectl apply -f nginx-pod.yaml

4. Pod Durumunu Kontrol Etme

Pod’unuzun durumunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

kubectl get pods

Bu komut, kümeniz içindeki tüm pod’ların durumunu gösterir. Eğer pod’unuz “Running” durumundaysa, başarıyla oluşturulmuştur.

Kubernetes Yönetimi

1. Servis Oluşturma

Kubernetes, uygulamalarınızı dış dünyaya açmak için Servis bileşenini kullanır. Aşağıda, nginx pod’unuzu bir servis ile dışa açmak için gereken YAML dosyası örneği verilmiştir:

apiVersion: v1
kind: Service
metadata:
  name: my-nginx-service
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: my-nginx

Bu dosyayı nginx-service.yaml olarak kaydedin ve aşağıdaki komut ile servisi oluşturun:

kubectl apply -f nginx-service.yaml

2. Kubernetes Güncellemeleri

Kubernetes, uygulamalarınızı güncellerken kesintisiz bir deneyim sunar. Bir uygulamanın yeni bir sürümünü dağıtmak için aşağıdaki komutu kullanabilirsiniz:

kubectl set image deployment/my-nginx nginx=nginx:latest

Bu komut, mevcut nginx pod’unuzu en son görüntü ile günceller.

3. Otomatik Ölçeklendirme

Kubernetes, uygulamanızın yüküne göre otomatik olarak ölçeklendirme yapmanıza olanak tanır. Aşağıdaki komut, pod sayısını artırmak için kullanılabilir:

kubectl scale deployment my-nginx --replicas=3

Bu komut, nginx pod’unuzu 3 kopya ile çalıştırır.

Sonuç

Kubernetes, konteynerleştirilmiş uygulamaları yönetmek için güçlü ve esnek bir platformdur. Bu makalede, Kubernetes ile sunucu orkestrasyonunu adım adım kurulum ve yönetim süreçleri ile ele aldık. Minikube kullanarak yerel bir Kubernetes kümesi oluşturabilir, pod’lar ve servisler tanımlayabilir, güncellemeler yapabilir ve otomatik ölçeklendirme işlemlerini gerçekleştirebilirsiniz.

Gelişen teknoloji ve iş yükleri, Kubernetes gibi orkestrasyon çözümlerine olan ihtiyacı artırmaktadır. Kubernetes ile sunucu yönetiminizi daha etkili ve verimli hale getirerek, uygulama geliştirme süreçlerinizi hızlandırabilirsiniz.