ホームページ >運用・保守 >Nginx >Nginx Proxy Manager とコンテナ オーケストレーション ツールの統合: 開発効率の向上

Nginx Proxy Manager とコンテナ オーケストレーション ツールの統合: 開発効率の向上

PHPz
PHPzオリジナル
2023-09-27 08:24:28829ブラウズ

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

Nginx Proxy Manager とコンテナ オーケストレーション ツールの統合: 開発効率の向上

はじめに:
現代のソフトウェア開発の分野では、コンテナ化テクノロジが主流になっています。傾向。コンテナ化テクノロジにより、ソフトウェアの導入と管理がよりシンプルかつ効率的になりますが、コンテナ ネットワーク通信や負荷分散など、いくつかの新しい課題も生じます。これらの問題を解決するには、Nginx Proxy Manager が最適な選択肢になります。この記事では、Nginx Proxy Manager とコンテナ オーケストレーション ツールの統合について紹介し、開発者が開発効率を向上させるのに役立つ具体的なコード例を提供します。

1. Nginx Proxy Manager の概要
Nginx Proxy Manager は、Nginx をベースにしたオープン ソース プロジェクトで、複数のドメイン名とリバース プロキシ ルールを管理するためのシンプルで強力なインターフェイスを提供します。 Nginx Proxy Manager を使用すると、複数のドメイン名のリバース プロキシ ルールを簡単に構成および管理し、負荷分散や SSL 終端などの機能を実装できます。

2. コンテナ オーケストレーション ツールの概要
コンテナ オーケストレーション ツールは、コンテナのデプロイ、管理、拡張を自動化するために使用されるツールです。現在、より一般的に使用されているコンテナ オーケストレーション ツールには、Docker Swarm と Kubernetes が含まれます。これらは、開発者が大規模なコンテナ クラスターを簡単にデプロイおよび管理できるようにし、サービスの検出、負荷分散、自動拡張と縮小などのさまざまな便利な機能を提供します。

3. Nginx Proxy Manager と Docker Swarm の統合

  1. Docker Swarm のインストール
    まず、Docker Swarm をインストールする必要があります。具体的なインストール手順については、Docker 公式ドキュメントを参照してください。
  2. Nginx Proxy Manager サービスの構成
    Docker Swarm では、docker-compose.yml ファイルを作成してサービスを定義できます。 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

この例では、ここでは、Nginx Proxy Manager の関連構成が含まれる jc21/nginx-proxy-manager イメージを使用しました。 Web インターフェイスを通じて Nginx Proxy Manager にアクセスするために、ポート 80 をホスト マシンのポート 80 にマッピングします。また、HTTPS をサポートするために、ポート 443 をホストのポート 443 にマッピングします。

同時に、/data ディレクトリをホストの /srv/docker/nginx-proxy-manager ディレクトリにマップして、Nginx Proxy Manager 関連データを永続的に保存します。

環境部分では、Nginx Proxy Manager がデータベースに接続して管理できるように、MySQL データベースの関連情報を構成する必要があります。

  1. クラスターのデプロイメント
    Docker Swarm を使用すると、サービスをクラスターに簡単にデプロイできます。具体的な手順は次のとおりです。
  • Swarm クラスターの初期化: docker swarm init コマンドを実行して、Swarm クラスターを初期化します。
  • サービスのデプロイ: Swarm クラスターで、docker stackdeploy コマンドを実行してサービスをデプロイします (例: docker stackdeploy -c docker-compose.yml nginx-proxy-manager)。
  • サービスのステータスの表示: docker service ls コマンドを実行して、サービスのステータスを確認します。
  • 展開と縮小: docker servicescale コマンドを実行して、サービスを展開および縮小します (例: docker servicescale nginx-proxy-manager_nginx-proxy-manager=3)。

4. Nginx Proxy Manager と Kubernetes の統合

  1. Kubernetes のインストール
    まず、Kubernetes をインストールする必要があります。具体的なインストール方法については、Kubernetesの公式ドキュメントを参照してください。
  2. Nginx Proxy Manager サービスの構成
    Kubernetes では、YAML ファイルを使用してサービスを定義します。以下は、Nginx Proxy Manager サービスの YAML ファイルの例です:

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-proxy-manager
spec:
レプリカ: 1
selector:

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

この例では、jc21/nginx を使用して、nginx-proxy-manager という名前のデプロイメントを作成します。 -proxy-manager イメージを作成し、関連する環境変数とボリュームを構成します。具体的な構成は Docker Swarm と似ています。

  1. サービスのデプロイ
    kubectl コマンドを使用して、Kubernetes クラスターにサービスをデプロイできます。具体的な手順は次のとおりです。
  • サービスの作成: kubectl apply -f nginx-proxy-manager.yaml コマンドを実行してサービスを作成します。
  • サービスのステータスを確認します。kubectl getdeployments コマンドを実行して、デプロイメントのステータスを確認します。
  • 展開と縮小: kubectlscaledeploymentnginx-proxy-manager --replicas=3 コマンドを実行して、デプロイメントを展開および縮小します。

5. 概要
Nginx Proxy Manager をコンテナ オーケストレーション ツールと統合することで、リバース プロキシ ルールの管理と構成が簡単になり、ロード バランシングや SSL ターミネーションなどの機能を実装できます。この記事では、開発者が Nginx Proxy Manager を使用する際の開発効率を向上させるのに役立つ具体的なコード例を示します。同時に、一般的に使用される 2 つのコンテナ オーケストレーション ツールである Docker Swarm と Kubernetes との統合方法も紹介しました。この記事が開発者にとって実際に役立つことを願っています。

以上がNginx Proxy Manager とコンテナ オーケストレーション ツールの統合: 開発効率の向上の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。