Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan Kubernetes dalam PHP untuk kontena API dan penggunaan automatik
Dalam pembangunan perisian moden, kontena dan penggunaan automatik telah menjadi bahagian yang sangat diperlukan. Kubernetes ialah salah satu platform orkestrasi kontena yang paling popular hari ini, menyediakan cara yang fleksibel, berskala dan terurus untuk mengurus aplikasi kontena. Dalam artikel ini, kami akan meneroka cara menggunakan Kubernetes untuk kontena API dan penggunaan automatik dalam aplikasi PHP.
Langkah Pertama: Menggunakan Docker dalam Aplikasi PHP
Sebelum menggunakan Kubernetes, kita perlu menyimpan aplikasi PHP. Docker ialah salah satu teknologi kontena yang paling popular di luar sana, jadi kami akan menggunakan Docker untuk menyimpan aplikasi PHP.
Pertama, kita perlu mencipta fail Docker untuk mentakrifkan imej Docker bagi aplikasi PHP. Berikut ialah contoh asas Dockerfile:
# 使用PHP 7.4作为基础镜像 FROM php:7.4-apache # 将应用程序复制到容器中 COPY . /var/www/html/ # 安装PHP扩展 RUN docker-php-ext-install pdo_mysql # 配置Apache RUN a2enmod rewrite # 暴露端口 EXPOSE 80
Dalam Dockerfile ini, kami mula-mula menggunakan PHP 7.4 sebagai imej asas dan menyalin aplikasi ke dalam bekas. Kami kemudiannya memasang sambungan pdo_mysql dan mendayakan modul penulisan semula Apache. Akhirnya, kami mendedahkan port 80 kontena.
Seterusnya, kita boleh membina dan menjalankan imej Docker menggunakan arahan berikut:
# 构建镜像 docker build -t my-app . # 运行容器 docker run -p 80:80 my-app
Ini akan membina imej Docker bernama my-app dan memetakannya ke port 80 mesin hos.
Langkah 2: Gunakan aplikasi PHP dalam Kubernetes
Setelah kami menyimpan aplikasi PHP, kami boleh menggunakan aplikasi tersebut ke dalam kelompok Kubernetes. Berikut ialah contoh fail penggunaan Kubernetes asas:
apiVersion: apps/v1 kind: Deployment metadata: name: my-app-deployment labels: app: my-app spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-app image: my-registry/my-app:latest ports: - containerPort: 80 imagePullSecrets: - name: my-registry-secret
Dalam fail penggunaan Kubernetes ini, kami mentakrifkan Deployment bernama my-app-deployment. Medan replika mentakrifkan bilangan replika Pod yang ingin kami buat, medan pemilih mentakrifkan pemilih label yang ingin kami gunakan dan medan templat mentakrifkan templat Pod yang ingin kami gunakan.
Dalam medan kontena, kami menentukan bekas yang akan dijalankan dalam Pod. Medan imej menentukan imej bekas yang kami mahu gunakan dan medan port menentukan port yang akan didedahkan oleh bekas. Akhir sekali, kami menggunakan medan imagePullSecrets untuk menentukan kelayakan pendaftaran yang kami gunakan untuk menarik imej daripada pendaftaran peribadi.
Seterusnya, kita boleh menggunakan aplikasi PHP dalam gugusan Kubernetes menggunakan arahan berikut:
# 创建Secret kubectl create secret docker-registry my-registry-secret --docker-server=my-registry --docker-username=my-username --docker-password=my-password --docker-email=my-email # 创建Deployment kubectl apply -f my-app-deployment.yaml
Ini akan mencipta Rahsia yang dipanggil my-registry-secret yang mengandungi imej yang kami gunakan bukti kelayakan Warehouse. Kemudian, kita boleh menggunakan perintah kubectl apply untuk menggunakan Deployment yang baru ditakrifkan kepada kluster.
Langkah 3: Penggunaan automatik
Satu faedah menggunakan Kubernetes untuk penggunaan automatik ialah apabila kod dikemas kini, kami hanya perlu mengemas kini imej Docker dan menggunakan semula Deployment. Berikut ialah skrip ringkas yang boleh digunakan untuk membina dan menggunakan versi baharu imej Docker secara automatik:
#!/bin/bash # 构建新镜像 docker build -t my-registry/my-app:latest . # 推送镜像到镜像仓库 docker push my-registry/my-app:latest # 在Kubernetes中更新Deployment kubectl set image deployment/my-app-deployment my-app=my-registry/my-app:latest
Dalam skrip ini, kami mula-mula membina imej Docker baharu menggunakan arahan binaan docker dan kemudian menolak imej itu. menggunakan arahan tolak docker Tolak ke gudang cermin. Akhir sekali, kami menggunakan perintah imej set kubectl untuk mengemas kini imej bekas aplikasi saya bagi penggunaan aplikasi saya.
Anda boleh menggunakan mana-mana platform CI/CD seperti Jenkins atau GitLab untuk mengautomasikan skrip ini.
Kesimpulan
Dalam artikel ini, kami membincangkan cara menggunakan Kubernetes untuk kontena API dan penggunaan automatik dalam aplikasi PHP. Kami mula-mula menyimpan aplikasi PHP dan kemudian mengerahkannya ke dalam kelompok menggunakan Kubernetes. Akhir sekali, kami membincangkan cara menggunakan skrip untuk mengautomasikan proses binaan dan penggunaan. Kubernetes memberi kami cara yang fleksibel, berskala dan boleh dipercayai untuk mengurus aplikasi kontena, yang membawa banyak faedah kepada ekosistem pembangunan perisian kami.
Atas ialah kandungan terperinci Cara menggunakan Kubernetes dalam PHP untuk kontena API dan penggunaan automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!