Maison >Opération et maintenance >Nginx >Intégration de Nginx Proxy Manager et des outils d'orchestration de conteneurs : améliorer l'efficacité du développement

Intégration de Nginx Proxy Manager et des outils d'orchestration de conteneurs : améliorer l'efficacité du développement

PHPz
PHPzoriginal
2023-09-27 08:24:28816parcourir

Nginx Proxy Manager与容器编排工具的集成:提升开发效率

Intégration de Nginx Proxy Manager et des outils d'orchestration de conteneurs : améliorer l'efficacité du développement

Introduction :
Dans le domaine du développement de logiciels modernes, la technologie de conteneurisation est devenue une tendance dominante. La technologie de conteneurisation rend le déploiement et la gestion des logiciels plus simples et plus efficaces, mais elle apporte également de nouveaux défis, tels que la communication sur le réseau de conteneurs et l'équilibrage de charge. Afin de résoudre ces problèmes, Nginx Proxy Manager est devenu un bon choix. Cet article présentera l'intégration de Nginx Proxy Manager et des outils d'orchestration de conteneurs, et fournira des exemples de code spécifiques pour aider les développeurs à améliorer l'efficacité du développement.

1. Introduction à Nginx Proxy Manager
Nginx Proxy Manager est un projet open source basé sur Nginx. Il fournit une interface simple et puissante pour gérer plusieurs noms de domaine et règles de proxy inverse. Grâce à Nginx Proxy Manager, nous pouvons facilement configurer et gérer des règles de proxy inverse pour plusieurs noms de domaine et implémenter des fonctions telles que l'équilibrage de charge et la terminaison SSL.

2. Introduction aux outils d'orchestration de conteneurs
Les outils d'orchestration de conteneurs sont des outils utilisés pour automatiser le déploiement, la gestion et l'expansion des conteneurs. Actuellement, les outils d'orchestration de conteneurs les plus couramment utilisés incluent Docker Swarm et Kubernetes. Ils peuvent aider les développeurs à déployer et gérer facilement des clusters de conteneurs à grande échelle et à fournir diverses fonctions pratiques, telles que la découverte de services, l'équilibrage de charge ainsi que l'expansion et la contraction automatiques.

3. Intégration de Nginx Proxy Manager et Docker Swarm

  1. Installer Docker Swarm
    Tout d'abord, nous devons installer Docker Swarm. Veuillez vous référer à la documentation officielle de Docker pour les étapes d'installation spécifiques.
  2. Configurer le service Nginx Proxy Manager
    Dans Docker Swarm, nous pouvons définir notre service en écrivant un fichier docker-compose.yml. Voici un exemple de fichier docker-compose.yml :

version : '3'
services:
nginx-proxy-manager:

image: 'jc21/nginx-proxy-manager:latest'
ports:
  - '80:80'
  - '81:81'
  - '443:443'
  - '3000:3000'
volumes:
  - '/srv/docker/nginx-proxy-manager:/data'
environment:
  - DB_MYSQL_HOST=your_mysql_host
  - DB_MYSQL_PORT=your_mysql_port
  - DB_MYSQL_USER=your_mysql_user
  - DB_MYSQL_PASSWORD=your_mysql_password
  - DB_MYSQL_NAME=your_mysql_database
deploy:
  replicas: 1
  restart_policy:
    condition: any

Dans cet exemple, nous utilisons l'image jc21/nginx-proxy-manager, Cette image contient la configuration appropriée de Nginx Proxy Manager. Nous mappons le port 80 au port 80 de la machine hôte pour accéder à Nginx Proxy Manager via l'interface Web. Nous mappons également le port 443 sur le port 443 de l'hôte pour prendre en charge HTTPS.

Dans le même temps, nous mappons le répertoire /data au répertoire /srv/docker/nginx-proxy-manager de l'hôte pour stocker de manière persistante les données liées à Nginx Proxy Manager.

Dans la section environnement, nous devons configurer les informations pertinentes de la base de données MySQL afin que Nginx Proxy Manager puisse se connecter et gérer la base de données.

  1. Déploiement de cluster
    En utilisant Docker Swarm, nous pouvons facilement déployer des services dans un cluster. Les étapes spécifiques sont les suivantes :
  • Initialize Swarm cluster : exécutez la commande docker swarm init pour initialiser un cluster Swarm.
  • Déployer des services : dans le cluster Swarm, exécutez la commande docker stack déployer pour déployer le service, telle que docker stack déployer -c docker-compose.yml nginx-proxy-manager.
  • Vérifiez l'état du service : exécutez la commande docker service ls pour vérifier l'état du service.
  • Extension et contraction : exécutez la commande docker service scale pour développer et contracter le service, par exemple, docker service scale nginx-proxy-manager_nginx-proxy-manager=3.

4. Intégration de Nginx Proxy Manager avec Kubernetes

  1. Installer Kubernetes
    Tout d'abord, nous devons installer Kubernetes. Pour les méthodes d'installation spécifiques, veuillez vous référer à la documentation officielle de Kubernetes.
  2. Configurer le service Nginx Proxy Manager
    Dans Kubernetes, nous utilisons un fichier YAML pour définir notre service. Voici un exemple de fichier YAML pour le service Nginx Proxy Manager :

apiVersion : apps/v1
kind : Deployment
metadata :
nom : nginx-proxy-manager
spec:
répliques : 1
sélecteur :

matchLabels:
  app: nginx-proxy-manager

template :

metadata:
  labels:
    app: nginx-proxy-manager
spec:
  containers:
  - name: nginx-proxy-manager
    image: jc21/nginx-proxy-manager:latest
    ports:
    - containerPort: 80
    - containerPort: 81
    - containerPort: 443
    - containerPort: 3000
    volumeMounts:
    - name: data
      mountPath: /data
    env:
    - name: DB_MYSQL_HOST
      value: your_mysql_host
    - name: DB_MYSQL_PORT
      value: your_mysql_port
    - name: DB_MYSQL_USER
      value: your_mysql_user
    - name: DB_MYSQL_PASSWORD
      value: your_mysql_password
    - name: DB_MYSQL_NAME
      value: your_mysql_database
  volumes:
  - name: data
    hostPath:
      path: /srv/docker/nginx-proxy-manager

Dans cet exemple, nous créons un déploiement nommé nginx-proxy-manager, utilisons l'image jc21/nginx-proxy-manager et configurons les variables d'environnement et les volumes associés. La configuration spécifique est similaire à Docker Swarm.

  1. Déployer des services
    À l'aide de la commande kubectl, nous pouvons déployer des services sur le cluster Kubernetes. Les étapes spécifiques sont les suivantes :
  • Créer un service : Exécutez la commande kubectl apply -f nginx-proxy-manager.yaml pour créer un service.
  • Vérifiez l'état du service : exécutez la commande kubectl get déploiements pour vérifier l'état du déploiement.
  • Extension et contraction : exécutez la commande kubectl scale déployer nginx-proxy-manager --replicas=3 pour développer et contracter le déploiement.

5. Résumé
En intégrant Nginx Proxy Manager aux outils d'orchestration de conteneurs, nous pouvons facilement gérer et configurer des règles de proxy inverse et implémenter des fonctions telles que l'équilibrage de charge et la terminaison SSL. Cet article fournit des exemples de code spécifiques pour aider les développeurs à améliorer l'efficacité du développement lors de l'utilisation de Nginx Proxy Manager. Parallèlement, nous avons également introduit les méthodes d'intégration avec Docker Swarm et Kubernetes, deux outils d'orchestration de conteneurs couramment utilisés. J'espère que cet article sera utile aux développeurs dans la pratique.

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