Comment utiliser Kubernetes pour le packaging conteneurisé et le déploiement de programmes PHP ?
Kubernetes est un moteur d'orchestration de conteneurs open source qui peut automatiser le déploiement, l'expansion et la gestion des conteneurs. Il offre de bonnes capacités d'orchestration de conteneurs, facilitant la création et le déploiement d'applications. Cet article explique comment utiliser Kubernetes pour le packaging conteneurisé et le déploiement de programmes PHP, et fournit des exemples de code correspondants.
1. Préparation
2. Créer l'image Docker
Avant de créer l'image Docker, vous devez d'abord écrire le fichier Docker. Un Dockerfile est un script utilisé pour créer une image Docker, qui contient diverses instructions nécessaires pour créer et exécuter l'image. Voici un exemple simple de Dockerfile :
FROM php:7.4-apache COPY . /var/www/html RUN chown -R www-data:www-data /var/www/html
Le Dockerfile ci-dessus utilise l'image PHP 7.4-apache officiellement fournie comme image de base, copie tous les fichiers du répertoire actuel dans le répertoire /var/www/html du conteneur et définit il autorise correctement.
Après avoir enregistré le Dockerfile, exécutez la commande suivante pour construire l'image Docker :
docker build -t my-php-app:v1 .
Parmi eux, le paramètre -t est utilisé pour spécifier le nom et l'étiquette de l'image. Après l'exécution, vous pouvez utiliser la commande suivante pour afficher l'image construite :
docker images
3. Créez un déploiement Kubernetes
Dans Kubernetes, utilisez Déploiement pour définir et gérer des ensembles de réplicas d'applications. Voici un exemple de déploiement simple :
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
Le déploiement ci-dessus définit une application conteneurisée appelée my-php-app avec 3 répliques. Il utilise l'image my-php-app:v1 que nous avons créée à l'étape précédente et mappe le port 80 du conteneur au port 80 de l'hôte.
Après avoir enregistré le fichier de définition de déploiement, exécutez la commande suivante pour créer le déploiement :
kubectl apply -f my-php-app-deployment.yaml
Vous pouvez utiliser la commande suivante pour afficher le déploiement créé :
kubectl get deployments
4 Créer un service Kubernetes
Le service Kubernetes est utilisé pour exposer le déploiement. port de l'application, afin que les requêtes externes puissent accéder à l'application. Voici un exemple de service simple :
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
Le service ci-dessus définit un service nommé my-php-app-service, qui sélectionne le déploiement qui lui est associé via un sélecteur. Transférez la demande du port 80 de l'hôte vers le port 80 du conteneur et spécifiez le type de service comme LoadBalancer.
Après avoir enregistré le fichier de définition du service, exécutez la commande suivante pour créer le service :
kubectl apply -f my-php-app-service.yaml
Vous pouvez utiliser la commande suivante pour afficher le service créé :
kubectl get services
5. Accédez à l'application
Après avoir exécuté les étapes ci-dessus, Kubernetes déployer et gérer automatiquement nos applications PHP. Vous pouvez utiliser la commande suivante pour afficher le Pod créé :
kubectl get pods
Recherchez le nom de l'un des Pods, et vous pouvez utiliser la commande suivante pour afficher le journal du Pod :
kubectl logs <pod名称>
Vous pouvez utiliser la commande suivante pour obtenir le adresse d'accès du Service :
minikube service my-php-app-service --url
Copiez l'adresse de sortie et ouvrez-la dans un navigateur pour accéder à notre application PHP.
6. Résumé
Cet article explique comment utiliser Kubernetes pour le packaging conteneurisé et le déploiement de programmes PHP. En créant des images Docker et en créant des déploiements et des services Kubernetes, nous pouvons facilement déployer et gérer nos applications PHP. En utilisation réelle, une configuration et une optimisation supplémentaires peuvent être effectuées selon les besoins pour répondre aux besoins réels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!