Bagaimana untuk menggunakan dan memantau perkhidmatan mikro PHP dalam Kubernetes? Pengoptimuman fail Docker: ikut binaan berbilang peringkat, gunakan imej Alpine, susun sambungan. Orkestrasi dan penggunaan: Gunakan Helm untuk menggunakan, melaksanakan pengimbangan beban melalui Ingress dan menggunakan Rahsia Kubernetes untuk mengurus maklumat sensitif. Pemantauan dan pengelogan: Gunakan Prometheus untuk memantau metrik, Fluentd untuk mengumpul log dan Kibana untuk menggambarkan log.
Sharing PHP Microservice Operasi dan Praktik Penyelenggaraan Kontrika Pengecualian - dengan kebangkitan mikroservis, bagaimana untuk mengendalikan dan mengekalkan aplikasi microservice PHP dengan cekap dan stabil telah menjadi cabaran yang dihadapi oleh pemaju cabaran. Artikel ini akan berkongsi pengalaman terkumpul kami dalam amalan dan menyediakan amalan terbaik dan kes praktikal dalam operasi dan penyelenggaraan dalam kontena perkhidmatan mikro PHP.
Pengoptimuman fail Docker
Mengoptimumkan Fail Docker bukan sahaja boleh mengurangkan saiz imej, tetapi juga meningkatkan kelajuan permulaan kontena. Adalah disyorkan untuk mengikuti prinsip berikut:Gunakan binaan berbilang peringkat: Pecahkan proses binaan kepada berbilang peringkat untuk mengoptimumkan kebergantungan setiap peringkat. Gunakan imej Alpine: Imej Alpine adalah kecil dan boleh mengurangkan saiz bekas.
Kompilkan Sambungan: Susun sambungan PHP lebih awal daripada memuatkannya pada masa jalan.
# 多阶段构建 FROM php:7.4-fpm AS build RUN composer install --no-dev FROM php:7.4-fpm COPY --from=build /app /app # 使用 Alpine 镜像 FROM alpine:3.13 RUN apk add php7 php7-openssl php7-mysqli WORKDIR /app COPY composer.json composer.lock ./ RUN composer install --no-dev # 编译扩展 FROM php:7.4-fpm RUN docker-php-ext-install bcmath mysqlnd opcache
Kubernetes ialah platform yang ideal untuk mengurus aplikasi kontena. Strategi berikut disyorkan:
Gunakan menggunakan Helm: Helm ialah pengurus pakej di Kubernetes yang memudahkan proses penempatan dan kemas kini. Gunakan Ingress untuk mencapai pengimbangan beban: Ingress boleh mengarahkan trafik dari luar ke perkhidmatan yang sepadan.
Gunakan Rahsia untuk mengurus maklumat sensitif: Rahsia Kubernetes boleh menyimpan maklumat sensitif seperti rentetan sambungan pangkalan data dengan selamat.
Penyelesaian:
Buat fail Docker dan bina imej mengikut prinsip pengoptimuman.
Gunakan Carta Helm untuk menentukan spesifikasi penggunaan. Buat Rahsia Kubernetes untuk menyimpan maklumat sambungan pangkalan data.
Gunakan Prometheus untuk memantau metrik: Prometheus ialah sistem pemantauan sumber terbuka yang mengumpul dan menggambarkan metrik untuk aplikasi kontena. Gunakan Fluentd untuk mengumpul log: Fluentd ialah alat pengumpulan dan pemprosesan log yang boleh menghantar log ke destinasi yang berbeza.
Visualkan log menggunakan Kibana: Kibana ialah antara muka berasaskan web yang boleh digunakan untuk mencari, menganalisis dan menggambarkan data log.
Penyelesaian:
Kerahkan pelayan Prometheus dan ejen Fluentd.
Konfigurasikan pengikis Prometheus untuk mengumpulkan metrik untuk perkhidmatan mikro PHP. Konfigurasikan proksi Fluentd untuk mengumpul log daripada perkhidmatan mikro PHP.
Atas ialah kandungan terperinci perkongsian operasi dan penyelenggaraan dalam bekas perkhidmatan mikro PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!