Bagaimana untuk menggunakan Kubernetes dengan pengaturcaraan PHP?

WBOY
Lepaskan: 2023-06-12 12:26:01
asal
1530 orang telah melayarinya

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.

  1. Mengenkapsulasi aplikasi PHP sebagai imej Docker

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/
Salin selepas log masuk

Fail Docker ini menggunakan imej PHP 7.2 dan Apache rasmi, dan kemudian menyalin kod aplikasi (src/) ke direktori /var/www/html/ dalam imej .

  1. Menulis fail sumber Kubernetes

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
Salin selepas log masuk

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).

  1. Gunakan aplikasi

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
Salin selepas log masuk

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
Salin selepas log masuk

Ini akan mengembangkan bilangan Pod dalam Deployment php-app kepada 5.

  1. Aplikasi Pemantauan

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
Salin selepas log masuk

Anda boleh menggunakan arahan log kubectl untuk melihat log Pod yang sedang berjalan:

kubectl logs <pod名称>
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!