HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
1. Kubernetes Temelleri
Kubernetes, PHP uygulamalarını dağıtmak için uygun hale getiren birkaç temel konsept sunar:- Düğümler (Nodes): Bunlar, kapsayıcıların çalıştığı makinelerdir (sanal veya fiziksel). Düğümler bir kümenin (cluster) parçasıdır.
- Pod'lar: Kubernetes'teki en küçük dağıtılabilir birimlerdir. Her pod bir veya daha fazla kapsayıcı içerebilir. Pod'lar, bir küme içindeki çalışan süreçleri temsil eder.
- Hizmetler (Services): Hizmetler, bir dizi pod'u ve bunlara nasıl erişileceğini tanımlar. Pod'lar eklense veya kaldırılsa bile PHP uygulamasına tutarlı bir şekilde erişilebilmesini sağlarlar.
- Dağıtımlar (Deployments): Pod'ların istenen durumunu yöneten daha üst düzey bir kaynaktır. Dağıtımlar, PHP uygulamalarını yukarı veya aşağı ölçeklendirmenize olanak tanır.
2. PHP 8'i Kubernetes'te Çalıştırma
Bir PHP 8 uygulamasını Kubernetes'te çalıştırmak için şunları yapmanız gerekir:- Bir Docker Kalıbı Oluşturun: Öncelikle, Bölüm 15.3'te tartışıldığı gibi PHP 8 uygulamanızın bir Docker kalıbını oluşturun.
- Kubernetes Yapılandırma Dosyaları: PHP uygulamanızın dağıtımını ve hizmetini tanımlamak için Kubernetes yapılandırma dosyalarını oluşturun.
- Dağıtım YAML'ı: Bu dosya, istenen kopya sayısını, kullanılacak Docker kalıbını, ortam değişkenlerini ve gereken depolama birimlerini belirtir.
-
Kod:
apiVersion: apps/v1 kind: Deployment metadata: name: my-php-app-deployment spec: replicas: 3 # İstenen kopya sayısı selector: matchLabels: app: my-php-app template: metadata: labels: app: my-php-app spec: containers: - name: my-php-container image: my-php-app:latest # Docker kalıbınızın adı ports: - containerPort: 9000 env: - name: DATABASE_HOST value: mysql-service # Veritabanı hizmeti adınız - Hizmet YAML'ı: Bu dosya, PHP uygulamanızı ağa açmak için bir hizmeti tanımlar. Bu örnekte, 80. bağlantı noktasını açıyoruz.
-
Kod:
apiVersion: v1 kind: Service metadata: name: my-php-service spec: selector: app: my-php-app ports: - protocol: TCP port: 80 # Hizmetin dış bağlantı noktası targetPort: 9000 # Kapsayıcının bağlantı noktası
- Kubernetes'e Dağıtın: Yapılandırma dosyalarını Kubernetes kümenize uygulayın:
-
Kod:
kubectl apply -f deployment.yaml kubectl apply -f service.yaml - Ölçekleme: Dağıtım YAML'ındaki replicas alanını güncelleyerek PHP uygulamanızı yatay olarak ölçeklendirebilirsiniz. Kubernetes, istenen duruma ulaşmak için otomatik olarak pod'lar oluşturacak veya kaldıracaktır.
-
Kod:
kubectl scale deployment my-php-app-deployment --replicas=5
3. PHP 8 için Kubernetes'in Faydaları
Kubernetes, PHP 8 uygulamalarını üretimde çalıştırmak için çeşitli faydalar sağlar:- Ölçeklenebilirlik: Artan trafiği yönetmek için PHP uygulamalarını yatay olarak kolayca ölçeklendirin.
- Yüksek Erişilebilirlik: Kubernetes, hatalardan otomatik olarak kurtulabilir ve trafiği sağlıklı pod'lara dağıtabilir.
- Kademeli Güncellemeler (Rolling Updates): PHP uygulamalarının sıfır kesinti süresiyle güncellemelerini ve geri alımlarını gerçekleştirin.
- Kaynak Yönetimi: Küme kaynaklarının verimli kullanımını sağlamak için kaynak sınırları ve istekleri belirleyin.
- Depolama Seçenekleri: Kubernetes, kalıcı birimler ve depolama sınıfları dahil olmak üzere çeşitli depolama seçenekleri sunar.
- İzleme ve Günlüğe Kaydetme: İzleme ve günlüğe kaydetme için Kubernetes'e özgü araçları ve üçüncü taraf entegrasyonlarını kullanın.
- Yük Dengeleme: Yerleşik yük dengeleme, trafiğin PHP pod'larına eşit dağıtılmasını sağlar.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 39
- Cevaplar
- 2
- Görüntüleme
- 47
- Cevaplar
- 2
- Görüntüleme
- 59
- Cevaplar
- 1
- Görüntüleme
- 42

