Maison > développement back-end > tutoriel php > 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
Libérer: 2023-07-31 12:30:01
original
1720 Les gens l'ont consulté

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
Copier après la connexion

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 .
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Vous pouvez utiliser la commande suivante pour afficher le déploiement créé :

kubectl get deployments
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Vous pouvez utiliser la commande suivante pour afficher le service créé :

kubectl get services
Copier après la connexion

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
Copier après la connexion

Recherchez le nom de l'un des Pods, et vous pouvez utiliser la commande suivante pour afficher le journal du Pod :

kubectl logs <pod名称>
Copier après la connexion

Vous pouvez utiliser la commande suivante pour obtenir le adresse d'accès du Service :

minikube service my-php-app-service --url
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal