Maison  >  Article  >  développement back-end  >  Comment utiliser Kubernetes pour le packaging conteneurisé et le déploiement de programmes PHP ?

Comment utiliser Kubernetes pour le packaging conteneurisé et le déploiement de programmes PHP ?

WBOY
WBOYoriginal
2023-07-31 12:28:491630parcourir

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

  1. Installer Docker : Avant de commencer, vous devez installer Docker. Docker est une plate-forme de conteneurisation populaire et nous utiliserons Docker pour créer et empaqueter nos images d'application. Vous pouvez choisir la méthode d'installation appropriée en fonction du système d'exploitation.
  2. Installer Kubernetes : Ensuite, vous devez installer le cluster Kubernetes. Kubernetes fournit un cadre de gestion de cluster qui peut être utilisé pour déployer et gérer des applications conteneurisées. Le responsable fournit quelques outils d'installation, tels que kubeadm, Minikube, etc. Vous pouvez choisir la méthode d'installation appropriée en fonction des besoins réels.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn