Bagaimana untuk menggunakan Kubernetes untuk pembungkusan kontena dan penggunaan program PHP?
Kubernetes ialah enjin orkestrasi kontena sumber terbuka yang boleh mengautomasikan penggunaan, pengembangan dan pengurusan kontena. Ia menyediakan keupayaan orkestrasi kontena yang baik, menjadikannya lebih mudah untuk membina dan menggunakan aplikasi. Artikel ini akan memperkenalkan cara menggunakan Kubernetes untuk pembungkusan kontena dan penggunaan program PHP serta memberikan contoh kod yang sepadan.
1. Persediaan
2. Bina imej Docker
Sebelum membina imej Docker, anda perlu menulis fail Docker terlebih dahulu. Fail Docker ialah skrip yang digunakan untuk membina imej Docker, yang mengandungi pelbagai arahan yang diperlukan untuk membina dan menjalankan imej. Berikut ialah contoh fail Docker yang mudah:
FROM php:7.4-apache COPY . /var/www/html RUN chown -R www-data:www-data /var/www/html
Fail Docker di atas menggunakan imej PHP 7.4-apache yang disediakan secara rasmi sebagai imej asas, menyalin semua fail dalam direktori semasa ke direktori /var/www/html bekas dan set ia sewajarnya kebenaran.
Selepas menyimpan Dockerfile, laksanakan arahan berikut untuk membina imej Docker:
docker build -t my-php-app:v1 .
Antaranya, parameter -t digunakan untuk menentukan nama dan label imej. Selepas pelaksanaan, anda boleh menggunakan arahan berikut untuk melihat imej terbina:
docker images
3. Buat Deployment Kubernetes
Dalam Kubernetes, gunakan Deployment untuk mentakrif dan mengurus set replika aplikasi. Berikut ialah contoh Deployment yang mudah:
apiVersion: apps/v1 kind: Deployment metadata: name: my-php-app spec: replicas: 3 selector: matchLabels: app: my-php-app template: metadata: labels: app: my-php-app spec: containers: - name: my-php-app image: my-php-app:v1 ports: - containerPort: 80
Deployment di atas mentakrifkan aplikasi kontena yang dipanggil my-php-app dengan 3 replika. Ia menggunakan imej my-php-app:v1 yang kami bina dalam langkah sebelumnya dan memetakan port kontena 80 ke port 80 hos.
Selepas menyimpan fail definisi Deployment, laksanakan arahan berikut untuk mencipta Deployment:
kubectl apply -f my-php-app-deployment.yaml
Anda boleh menggunakan arahan berikut untuk melihat Deployment yang dibuat:
kubectl get deployments
4 Cipta Perkhidmatan Kubernetes
Kubernetes Perkhidmatan digunakan untuk mendedahkan Perkhidmatan port aplikasi, supaya permintaan Luaran boleh mengakses aplikasi. Berikut ialah contoh Perkhidmatan ringkas:
apiVersion: v1 kind: Service metadata: name: my-php-app-service spec: selector: app: my-php-app ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer
Perkhidmatan di atas mentakrifkan perkhidmatan bernama my-php-app-service, yang memilih Deployment yang dikaitkan dengannya melalui pemilih. Majukan permintaan daripada port 80 hos ke port 80 bekas, dan nyatakan jenis Perkhidmatan sebagai LoadBalancer.
Selepas menyimpan fail definisi Perkhidmatan, laksanakan arahan berikut untuk mencipta Perkhidmatan:
kubectl apply -f my-php-app-service.yaml
Anda boleh menggunakan arahan berikut untuk melihat Perkhidmatan yang dibuat:
kubectl get services
5. Akses aplikasi
Selepas melaksanakan langkah di atas, Kubernetes akan menggunakan dan Mengurus aplikasi PHP kami secara automatik. Anda boleh menggunakan arahan berikut untuk melihat Pod yang dibuat:
kubectl get pods
Cari nama salah satu Pod, anda boleh menggunakan arahan berikut untuk melihat log Pod:
kubectl logs <pod名称>
Anda boleh menggunakan arahan berikut untuk mendapatkan akses luaran alamat Perkhidmatan:
minikube service my-php-app-service --url
Salin alamat output dan bukanya dalam penyemak imbas untuk mengakses aplikasi PHP kami.
6. Ringkasan
Artikel ini memperkenalkan cara menggunakan Kubernetes untuk pembungkusan bekas dan penggunaan program PHP. Dengan membina imej Docker dan mencipta Deployments dan Perkhidmatan Kubernetes, kami boleh menggunakan dan mengurus aplikasi PHP kami dengan mudah. Dalam penggunaan sebenar, konfigurasi dan pengoptimuman selanjutnya boleh dilakukan mengikut keperluan untuk memenuhi keperluan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Kubernetes untuk pembungkusan kontena dan penggunaan program PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!