Dengan pembangunan berterusan dan mempopularkan teknologi pengkomputeran awan, menggunakan aplikasi ke awan telah menjadi pilihan untuk lebih ramai pembangun. Sebagai piawaian de facto untuk pengurusan aplikasi asli awan, Kubernetes telah menjadi alat pilihan untuk orkestrasi kontena, menyediakan penggunaan automatik, pengembangan dan kaedah pengurusan untuk aplikasi dalam persekitaran asli awan.
Menggunakan Kubernetes dalam pengaturcaraan PHP boleh membantu pembangun mengurus dan mengembangkan aplikasi PHP mereka dengan lebih mudah dan cekap. Artikel ini akan memperkenalkan cara menggunakan alatan penggunaan Kubernetes dalam projek PHP.
Apakah itu Kubernetes?
Kubernetes (pendek kata K8) ialah sistem orkestrasi kontena sumber terbuka yang dibangunkan dan diselenggara oleh Google. Kubernetes menyediakan cara automatik untuk pembangun mengurus dan menggunakan aplikasi kontena dengan mudah dan mudah.
Menggunakan Kubernetes, pembangun boleh mengurus sebilangan besar tika kontena dalam gugusan dan skala secara automatik untuk memenuhi keperluan aplikasi. Kubernetes juga menyediakan banyak ciri lanjutan, seperti naik taraf bergulir, peruntukan sumber adaptif dan penemuan perkhidmatan.
Seni bina Kubernetes
Seni bina Kubernetes terbahagi kepada dua bahagian: Nod induk dan nod Nod.
Nod induk termasuk Pelayan API, dsb, Pengurus Pengawal, Penjadual dan komponen teras lain. Mereka bekerjasama untuk memantau dan mengurus keseluruhan kluster Kubernetes.
Nod nod ialah nod hos yang menjalankan bekas. Setiap nod Nod mempunyai dua komponen yang berjalan: kubelet dan kube-proxy. kubelet bertanggungjawab untuk mengurus dan menjalankan bekas pada nod, dan kube-proxy bertanggungjawab untuk mengendalikan penemuan perkhidmatan kluster dan pengimbangan beban.
Konsep Teras Kubernetes
Dalam Kubernetes, terdapat beberapa konsep penting yang perlu difahami.
Pod: Ia adalah unit penggunaan terkecil dalam Kubernetes A Pod boleh mengandungi satu atau lebih bekas.
Deployment: ialah pengawal yang digunakan untuk mengurus salinan Pod. Ia bertanggungjawab untuk mengatur dan mengurus bilangan salinan Pod yang ditentukan.
Perkhidmatan: digunakan untuk mendedahkan Pod dalam Deployment supaya ia boleh diakses oleh bekas lain atau rangkaian luaran.
Label dan Pemilih: digunakan untuk mengenal pasti dan memilih Pod Kedua-dua Deployment dan Service boleh menggunakannya untuk memilih Pod atau pengawal tertentu.
Cara menggunakan Kubernetes dalam projek PHP
Untuk menggunakan Kubernetes dalam projek PHP, anda perlu terlebih dahulu merangkum aplikasi PHP sebagai imej Docker. Fail sumber Kubernetes kemudiannya boleh digunakan untuk mentakrif dan mengurus bekas dan penggunaan aplikasi PHP.
Untuk menggunakan aplikasi PHP ke Kubernetes, anda mesti terlebih dahulu merangkum aplikasi itu sebagai imej Docker. Anda boleh menggunakan Dockerfile untuk menentukan proses pembinaan imej. Berikut ialah contoh fail Docker yang mudah:
FROM php:7.2-apache COPY src/ /var/www/html/
Fail Docker ini menggunakan imej PHP 7.2 dan Apache rasmi, dan kemudian menyalin kod aplikasi (src/) ke direktori /var/www/html/ dalam imej .
Fail sumber Kubernetes ialah fail YAML yang mentakrifkan sumber seperti bekas, perkhidmatan dan penggunaan dalam Kubernetes. Berikut ialah contoh Deployment mudah:
apiVersion: apps/v1 kind: Deployment metadata: name: php-app spec: replicas: 3 selector: matchLabels: app: php template: metadata: labels: app: php spec: containers: - name: php-app image: my-php-app:latest ports: - containerPort: 80
Deployment ini mentakrifkan Pod yang menjalankan aplikasi PHP Akan terdapat 3 replika (salinan Pod) yang dijalankan dalam kelompok. Ia memilih Pod menggunakan teg app=php, menentukan imej sebagai my-php-app:latest, dan mendedahkan port kontena sebagai 80. Jika anda mahu Deployment boleh diakses secara luaran melalui Perkhidmatan, anda juga mesti menentukan Perkhidmatan dalam fail yang sama dan memilihnya sebagai label yang sama (dalam contoh di atas, app=php).
Selepas menulis fail sumber Kubernetes, anda boleh menggunakan perintah kubectl untuk menggunakan aplikasi ke gugusan Kubernetes. Anda boleh menggunakan perintah kubectl apply untuk menggunakan fail sumber Kubernetes pada kluster:
kubectl apply -f deployment.yaml
Perintah ini akan mencipta Deployment yang menjalankan aplikasi PHP dan menjalankan 3 salinan Pod dalam kluster. Jika anda perlu mengubah suai bilangan Pod dalam Deployment, anda boleh menggunakan perintah skala kubectl untuk mengembangkan atau mengecilkan bilangan Pod secara mendatar:
kubectl scale deployment php-app --replicas=5
Ini akan mengembangkan bilangan Pod dalam Deployment php-app kepada 5.
Selepas menggunakan aplikasi PHP, anda boleh menggunakan alatan pemantauan Kubernetes untuk pemantauan. Anda boleh menggunakan perintah kubectl untuk melihat status Pod dan Deployment:
kubectl get pods kubectl get deployment
Anda boleh menggunakan arahan log kubectl untuk melihat log Pod yang sedang berjalan:
kubectl logs <pod名称>
Anda juga boleh menggunakan Papan Pemuka Kubernetes untuk berpusat mengurus semua operasi dalam Kubernetes Pod, Deployment, Service dan sumber lain, serta melihat log dan maklumat pemantauan.
Kesimpulan
Menggunakan Kubernetes dalam pengaturcaraan PHP boleh mengurus dan mengembangkan aplikasi PHP anda sendiri dengan mudah. Artikel ini memperkenalkan konsep asas Kubernetes dan cara menggunakannya dalam projek PHP, dengan harapan dapat membantu pembangun PHP menggunakan alat orkestrasi kontena ini dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Kubernetes dengan pengaturcaraan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!