Kubernetes en PHP

王林
Libérer: 2023-05-26 22:12:01
original
1474 Les gens l'ont consulté

Kubernetes est un outil d'orchestration et de gestion de conteneurs très populaire ces dernières années. PHP, en tant que langage de développement Web très populaire, doit également s'adapter à cette tendance et gérer ses propres applications via Kubernetes. Dans cet article, nous explorerons comment utiliser Kubernetes avec des applications PHP.

1. Présentation de Kubernetes

Kubernetes est un outil d'orchestration et de gestion de conteneurs développé par Google pour gérer les applications conteneurisées. Kubernetes automatise le déploiement, la mise à l'échelle et la gestion des conteneurs et fournit une plate-forme hautement évolutive capable de gérer les applications conteneurisées de manière rapide et fiable.

Kubernetes a les concepts principaux suivants :

  1. Pod : la plus petite unité de déploiement de Kubernetes, comprenant un ou plusieurs conteneurs, partageant des ressources réseau et de stockage.
  2. Service : une entité concurrente qui peut automatiquement découvrir et équilibrer la charge des services d'application.
  3. Contrôleur de réplication : utilisé pour maintenir le nombre de copies d'un ensemble de pods afin d'obtenir l'équilibrage de charge et la récupération des pannes.
  4. Déploiement : utilisé pour gérer le processus de publication des applications et peut contrôler le déploiement, l'expansion, la mise à niveau et la restauration des applications.

2. Déployer des applications PHP à l'aide de Kubernetes

  1. Écrire Dockerfile

Tout d'abord, nous devons écrire un fichier Dockerfile pour créer une image de l'application PHP. Voici un exemple simple :

FROM php:7.2-apache
COPY app/ /var/www/html/
Copier après la connexion

Ce Dockerfile utilise l'image officielle PHP 7.2-apache comme image de base et copie notre application dans le répertoire /var/www/html.

  1. Créez l'image Docker et téléchargez-la sur Docker Hub

Utilisez la commande suivante pour créer l'image Docker :

$ docker build -t username/appname:version .
Copier après la connexion

où nom d'utilisateur est votre nom d'utilisateur Docker Hub, nom d'application est le nom de votre application et version est le numéro de version de votre application. , le dernier point indique le répertoire actuel où se trouve le Dockerfile.

Ensuite, téléchargez l'image Docker sur Docker Hub :

$ docker push username/appname:version
Copier après la connexion

Ici, vous devez d'abord créer un référentiel sur Docker Hub et définir les informations de connexion.

  1. Créer un déploiement Kubernetes

Dans Kubernetes, le déploiement est utilisé pour gérer le processus de publication de l'application. Pour créer un déploiement, un fichier YAML est requis pour décrire la configuration du déploiement. Voici un exemple simple :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: appname
spec:
  replicas: 3
  selector:
    matchLabels:
      app: appname
  template:
    metadata:
      labels:
        app: appname
    spec:
      containers:
      - name: appname
        image: username/appname:version
Copier après la connexion

Ce fichier de configuration de déploiement est utilisé pour déployer des répliques = 3 pods. Chaque pod contient un conteneur nommé appname, en utilisant l'image Docker précédemment téléchargée sur Docker Hub.

Utilisez maintenant la commande suivante pour créer le déploiement :

$ kubectl apply -f deployment.yaml
Copier après la connexion
  1. Créer un service Kubernetes

Dans Kubernetes, le service est utilisé pour exposer les services d'application. Il existe de nombreux types de services, tels que ClusterIP, NodePort, LoadBalancer, etc. Pour plus de simplicité, nous utilisons ici un service de type ClusterIP. Voici un exemple simple :

apiVersion: v1
kind: Service
metadata:
  name: appname
spec:
  selector:
    app: appname
  ports:
  - name: http
    protocol: TCP
    port: 80
    targetPort: 80
Copier après la connexion

Le fichier de configuration de ce service utilise le service de type ClusterIP pour exposer le service d'application, utilise le sélecteur nommé appname pour trouver le Pod correspondant et le lie au port 80 du conteneur.

Utilisez maintenant la commande suivante pour créer le service :

$ kubectl apply -f service.yaml
Copier après la connexion
  1. Afficher les services d'application

Enfin, vous pouvez utiliser la commande suivante pour afficher les services d'application :

$ kubectl get service
Copier après la connexion

Cette commande listera tous les services et affichera leur ClusterIP et port.

À ce stade, nous avons déployé avec succès une application PHP utilisant Kubernetes.

3. Résumé

Cet article présente le processus d'utilisation de Kubernetes dans les applications PHP, notamment la création d'un fichier Docker, la création d'une image Docker, le téléchargement sur Docker Hub, la création d'un déploiement et d'un service Kubernetes, etc. En utilisant Kubernetes, nous pouvons gérer et faire évoluer nos applications plus facilement.

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!

Étiquettes associées:
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!