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 :
2. Déployer des applications PHP à l'aide de Kubernetes
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/
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.
Utilisez la commande suivante pour créer l'image Docker :
$ docker build -t username/appname:version .
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
Ici, vous devez d'abord créer un référentiel sur Docker Hub et définir les informations de connexion.
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
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
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
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
Enfin, vous pouvez utiliser la commande suivante pour afficher les services d'application :
$ kubectl get service
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!