Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Kubernetes untuk pembungkusan kontena dan penggunaan program PHP?

Bagaimana untuk menggunakan Kubernetes untuk pembungkusan kontena dan penggunaan program PHP?

WBOY
WBOYasal
2023-07-31 12:28:491629semak imbas

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

  1. Pasang Docker: Sebelum anda mula, anda perlu memasang Docker. Docker ialah platform kontena yang popular, dan kami akan menggunakan Docker untuk membina dan membungkus imej aplikasi kami. Anda boleh memilih kaedah pemasangan yang sesuai mengikut sistem pengendalian.
  2. Pasang Kubernetes: Seterusnya, anda perlu memasang gugusan Kubernetes. Kubernetes menyediakan rangka kerja pengurusan kluster yang boleh digunakan untuk menggunakan dan mengurus aplikasi kontena. Pegawai tersebut menyediakan beberapa alat pemasangan, seperti kubeadm, Minikube, dsb. Anda boleh memilih kaedah yang sesuai untuk pemasangan mengikut keperluan sebenar.

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!

Kenyataan:
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