Rumah pembangunan bahagian belakang tutorial php Cara menggunakan Kubernetes dalam PHP untuk kontena API dan penggunaan automatik

Cara menggunakan Kubernetes dalam PHP untuk kontena API dan penggunaan automatik

Jun 17, 2023 pm 04:40 PM
php kubernetes Kontena

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

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

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

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

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

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles