Kubernetes ialah alat orkestrasi dan pengurusan kontena yang sangat popular sejak beberapa tahun kebelakangan ini Sebagai bahasa pembangunan web yang sangat popular, PHP juga perlu menyesuaikan diri dengan aliran ini dan mengurus aplikasinya sendiri melalui Kubernetes. Dalam artikel ini, kami akan meneroka cara menggunakan Kubernetes dengan aplikasi PHP.
1. Gambaran Keseluruhan Kubernetes
Kubernetes ialah alat orkestrasi dan pengurusan kontena yang dibangunkan oleh Google untuk mengurus aplikasi kontena. Kubernetes mengautomasikan penggunaan, penskalaan dan pengurusan bekas, dan ia menyediakan platform berskala tinggi yang boleh mengendalikan aplikasi kontena dengan cepat dan boleh dipercayai.
Kubernetes mempunyai konsep utama berikut:
2. Sebarkan aplikasi PHP menggunakan Kubernetes
Pertama, kita perlu menulis fail Fail Docker untuk mencipta imej daripada aplikasi PHP. Berikut ialah contoh mudah:
FROM php:7.2-apache COPY app/ /var/www/html/
Fail Docker ini menggunakan imej PHP 7.2-apache rasmi sebagai imej asas dan menyalin aplikasi kami ke direktori /var/www/html.
Gunakan arahan berikut untuk membina imej Docker:
$ docker build -t username/appname:version .
di mana nama pengguna ialah Docker anda Nama pengguna hab , nama aplikasi ialah nama aplikasi anda, versi ialah nombor versi aplikasi anda dan titik terakhir menunjukkan direktori semasa di mana Fail Docker berada.
Seterusnya, muat naik imej Docker ke Docker Hub:
$ docker push username/appname:version
Di sini anda perlu mencipta Repositori pada Docker Hub terlebih dahulu dan tetapkan bukti kelayakan log masuk.
Dalam Kubernetes, Deployment digunakan untuk mengurus proses keluaran permohonan. Untuk membuat Deployment, fail YAML diperlukan untuk menerangkan konfigurasi Deployment. Berikut ialah contoh mudah:
apiVersion: apps/v1 kind: Deployment metadata: name: appname spec: replicas: 3 selector: matchLabels: app: appname template: metadata: labels: app: appname spec: containers: - name: appname image: username/appname:version
Fail konfigurasi Deployment ini digunakan untuk menggunakan replika=3 Pod Setiap Pod mengandungi bekas bernama appname, menggunakan imej Docker yang dimuat naik sebelum ini ke Docker Hub.
Sekarang gunakan arahan berikut untuk mencipta Deployment:
$ kubectl apply -f deployment.yaml
Dalam Kubernetes, Perkhidmatan digunakan untuk mendedahkan perkhidmatan aplikasi. Terdapat banyak jenis perkhidmatan, seperti ClusterIP, NodePort, LoadBalancer, dll. Untuk kesederhanaan, di sini kami menggunakan Perkhidmatan jenis ClusterIP. Berikut ialah contoh mudah:
apiVersion: v1 kind: Service metadata: name: appname spec: selector: app: appname ports: - name: http protocol: TCP port: 80 targetPort: 80
Fail konfigurasi Perkhidmatan ini menggunakan Perkhidmatan jenis ClusterIP untuk mendedahkan perkhidmatan aplikasi Gunakan Pemilih bernama appname untuk mencari Pod yang sepadan dan mengikatnya pada port 80 bekas .
Sekarang gunakan arahan berikut untuk mencipta Perkhidmatan:
$ kubectl apply -f service.yaml
Akhir sekali, anda boleh menggunakan arahan berikut untuk melihat perkhidmatan aplikasi:
$ kubectl get service
Arahan ini akan menyenaraikan semua Perkhidmatan dan memaparkan ClusterIP dan port mereka.
Pada ketika ini, kami telah berjaya menggunakan aplikasi PHP menggunakan Kubernetes.
3. Ringkasan
Artikel ini memperkenalkan proses penggunaan Kubernetes dalam aplikasi PHP, termasuk mencipta Dockerfile, membina imej Docker, memuat naik ke Docker Hub, mencipta Kubernetes Deployment and Service, dsb. Dengan menggunakan Kubernetes, kami boleh mengurus dan menskalakan aplikasi kami dengan lebih mudah.
Atas ialah kandungan terperinci Kubernetes dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!