Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Integration von Nginx Proxy Manager und Container-Orchestrierungstools: Verbesserung der Entwicklungseffizienz

Integration von Nginx Proxy Manager und Container-Orchestrierungstools: Verbesserung der Entwicklungseffizienz

PHPz
PHPzOriginal
2023-09-27 08:24:28734Durchsuche

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

Integration von Nginx Proxy Manager und Container-Orchestrierungstools: Verbesserung der Entwicklungseffizienz

Einführung:
Im Bereich der modernen Softwareentwicklung ist die Containerisierungstechnologie zu einem Mainstream-Trend geworden. Die Containerisierungstechnologie macht die Softwarebereitstellung und -verwaltung einfacher und effizienter, bringt aber auch einige neue Herausforderungen mit sich, beispielsweise die Containernetzwerkkommunikation und den Lastausgleich. Um diese Probleme zu lösen, ist Nginx Proxy Manager eine gute Wahl. In diesem Artikel wird die Integration von Nginx Proxy Manager und Container-Orchestrierungstools vorgestellt und spezifische Codebeispiele bereitgestellt, um Entwicklern dabei zu helfen, die Entwicklungseffizienz zu verbessern.

1. Einführung in Nginx Proxy Manager
Nginx Proxy Manager ist ein Open-Source-Projekt, das auf Nginx basiert. Es bietet eine einfache und leistungsstarke Schnittstelle zum Verwalten mehrerer Domänennamen und Reverse-Proxy-Regeln. Über Nginx Proxy Manager können wir Reverse-Proxy-Regeln für mehrere Domänennamen einfach konfigurieren und verwalten sowie Funktionen wie Lastausgleich und SSL-Terminierung implementieren.

2. Einführung in Container-Orchestrierungstools
Container-Orchestrierungstools sind Tools zur Automatisierung der Containerbereitstellung, -verwaltung und -erweiterung. Zu den derzeit am häufigsten verwendeten Container-Orchestrierungstools gehören Docker Swarm und Kubernetes. Sie können Entwicklern dabei helfen, große Container-Cluster einfach bereitzustellen und zu verwalten, und bieten verschiedene praktische Funktionen wie Serviceerkennung, Lastausgleich sowie automatische Erweiterung und Kontraktion.

3. Integration von Nginx Proxy Manager und Docker Swarm

  1. Installieren Sie Docker Swarm
    Zuerst müssen wir Docker Swarm installieren. Spezifische Installationsschritte finden Sie in der offiziellen Docker-Dokumentation.
  2. Nginx Proxy Manager-Dienst konfigurieren
    In Docker Swarm können wir unseren Dienst definieren, indem wir eine docker-compose.yml-Datei schreiben. Hier ist ein Beispiel für eine docker-compose.yml-Datei:

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

In diesem Beispiel verwenden wir das jc21/nginx-proxy-manager-Image, Dieses Bild enthält die relevante Konfiguration von Nginx Proxy Manager. Wir ordnen Port 80 Port 80 des Host-Computers zu, um über die Weboberfläche auf Nginx Proxy Manager zuzugreifen. Wir ordnen Port 443 auch dem Port 443 des Hosts zu, um HTTPS zu unterstützen.

Gleichzeitig ordnen wir das Verzeichnis /data dem Verzeichnis /srv/docker/nginx-proxy-manager des Hosts zu, um Nginx Proxy Manager-bezogene Daten dauerhaft zu speichern.

Im Umgebungsbereich müssen wir die relevanten Informationen der MySQL-Datenbank konfigurieren, damit Nginx Proxy Manager eine Verbindung zur Datenbank herstellen und verwalten kann.

  1. Cluster-Bereitstellung
    Mit Docker Swarm können wir Dienste einfach in einem Cluster bereitstellen. Die spezifischen Schritte sind wie folgt:
  • Swarm-Cluster initialisieren: Führen Sie den Docker-Befehl swarm init aus, um einen Swarm-Cluster zu initialisieren.
  • Dienst bereitstellen: Führen Sie im Swarm-Cluster den Befehl „Docker Stack Deploy“ aus, um den Dienst bereitzustellen, z. B. Docker Stack Deploy -c Docker-Compose.yml Nginx-Proxy-Manager.
  • Überprüfen Sie den Dienststatus: Führen Sie den Befehl docker service ls aus, um den Status des Dienstes zu überprüfen.
  • Erweiterung und Kontraktion: Führen Sie den Befehl „Docker Service Scale“ aus, um den Dienst zu erweitern und zu verkleinern, zum Beispiel Docker Service Scale nginx-proxy-manager_nginx-proxy-manager=3.

4. Integration von Nginx Proxy Manager mit Kubernetes

  1. Kubernetes installieren
    Zuerst müssen wir Kubernetes installieren. Informationen zu bestimmten Installationsmethoden finden Sie in der offiziellen Kubernetes-Dokumentation.
  2. Nginx Proxy Manager-Dienst konfigurieren
    In Kubernetes verwenden wir eine YAML-Datei, um unseren Dienst zu definieren. Das Folgende ist eine Beispiel-YAML-Datei für den Nginx Proxy Manager-Dienst:

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-proxy-manager
spec:
replikate: 1
selector:

matchLabels:
  app: nginx-proxy-manager

Vorlage:

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

In diesem Beispiel erstellen wir eine Bereitstellung mit dem Namen nginx-proxy-manager, verwenden das jc21/nginx-proxy-manager-Image und konfigurieren zugehörige Umgebungsvariablen und Volumes. Die spezifische Konfiguration ähnelt Docker Swarm.

  1. Dienste bereitstellen
    Mit dem Befehl kubectl können wir Dienste für den Kubernetes-Cluster bereitstellen. Die spezifischen Schritte sind wie folgt:
  • Erstellen Sie einen Dienst: Führen Sie den Befehl kubectl apply -f nginx-proxy-manager.yaml aus, um einen Dienst zu erstellen.
  • Überprüfen Sie den Dienststatus: Führen Sie den Befehl kubectl get Deployments aus, um den Status der Bereitstellung zu überprüfen.
  • Erweiterung und Verkleinerung: Führen Sie den Befehl kubectl Scale Deployment nginx-proxy-manager --replicas=3 aus, um die Bereitstellung zu erweitern und zu verkleinern.

5. Zusammenfassung
Durch die Integration von Nginx Proxy Manager mit Container-Orchestrierungstools können wir Reverse-Proxy-Regeln einfach verwalten und konfigurieren und Funktionen wie Lastausgleich und SSL-Terminierung implementieren. Dieser Artikel enthält spezifische Codebeispiele, die Entwicklern helfen sollen, die Entwicklungseffizienz bei der Verwendung von Nginx Proxy Manager zu verbessern. Gleichzeitig haben wir auch die Integrationsmethoden mit Docker Swarm und Kubernetes eingeführt, zwei häufig verwendeten Container-Orchestrierungstools. Ich hoffe, dass dieser Artikel Entwicklern in der Praxis hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonIntegration von Nginx Proxy Manager und Container-Orchestrierungstools: Verbesserung der Entwicklungseffizienz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn