ホームページ  >  記事  >  運用・保守  >  Docker を使用してマルチノード クラスターを管理および拡張する方法

Docker を使用してマルチノード クラスターを管理および拡張する方法

WBOY
WBOYオリジナル
2023-11-07 10:06:581235ブラウズ

Docker を使用してマルチノード クラスターを管理および拡張する方法

今日のクラウド コンピューティング時代において、コンテナ化テクノロジは、オープンソースの世界で最も人気のあるテクノロジの 1 つになりました。 Docker の登場により、クラウド コンピューティングはより便利かつ効率的になり、開発者や運用保守担当者にとって不可欠なツールになりました。マルチノード クラスター テクノロジーのアプリケーションは、Docker に基づいて広く使用されています。マルチノード クラスターの展開を通じて、リソースをより効率的に利用し、信頼性と拡張性を向上させることができ、さらに展開と管理をより柔軟に行うことができます。次に、Docker を使用してマルチノード クラスターを管理および拡張する方法を紹介します。

ステップ 1: マルチノード クラスター環境を構築する
マルチノード クラスターの管理と拡張を実現するには、まず複数のノードを構築する必要があります。この記事では、マルチノード クラスターをより便利に管理できる Docker Swarm テクノロジーを使用します。

1) Docker と Docker Compose を複数のマシンにインストールし、相互に通信できることを確認します。

2) いずれかのマシンを「管理ノード」として選択し、次のコマンドを実行します:

docker swarm init --advertise-addr <管理节点IP>

実行後、トークンが返されます。このトークンは、他のノードを管理ノードに追加するために使用されます。これはSwarmで。同時に、このコマンドを実行すると、ローカル マシンが Swarm の管理ノードになります。

3) 他のマシンを Swarm に追加します。他のマシンで次のコマンドを実行します:

docker swarm join --token <token> <管理节点IP>:2377

この時点で、他のマシンが Swarm に追加されます。次のコマンドを使用して、Swarm のノードを表示できます。

docker node ls

ステップ 2: サービスを構築して容量を拡張する
マルチノード クラスター環境をセットアップした後、サービスの構築を開始できます。サービスとは、Swarm で実行されるコンテナ インスタンスのグループを指し、ホスト、ネットワーク、ストレージ リソースを共有し、水平方向の拡張方法で自動的に拡張できます。ここでは、簡単なWebアプリケーションを例に、サービスの構築・拡張方法を紹介します。

1) Dockerfile を作成します。まず、Dockerfile ファイルを作成し、アプリケーションの基本イメージや実行コマンドなどを指定する必要があります。

FROM node:latest
WORKDIR /app
COPY . /app
RUN npm install
CMD ["npm", "start"]

その中で、ベースイメージとしてnode:latestを選択し、アプリケーションファイルを/appディレクトリに追加し、依存関係をインストールしてプログラムを開始しました。

2) docker-compose.yml を書き込みます。 docker-compose は、複数コンテナーの Docker アプリケーションを定義および実行するためのツールです。ここでは、docker-compose を使用して web というサービスを定義できます。

version: '3'
services:
  web:
    build: .
    ports:
      - "8080:8080"
    environment:
      - NODE_ENV=production
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure

この docker-compose ファイルは、アプリケーションの構築方法、ポート マッピング、環境変数、コピー数、リソース制限などを指定します。ステップ 3 では、docker stackdeploy コマンドを使用してサービスを構築して実行します。

3) サービスを構築および拡張します。上記の 2 つの手順を完了したら、サービスの構築とスケーリングを開始できます。次のコマンドを実行してください:

docker-compose build
docker stack deploy --compose-file docker-compose.yml web

このコマンドは、サービスを Swarm にデプロイし、5 つのインスタンスを指定します。ブラウザで http://:8080 にアクセスすると、Web アプリケーションを表示できます。

ステップ 3: サービスの管理と拡張
サービスの構築と展開が成功したら、サービスを管理し、拡張する必要があります。 Swarm でのサービスの管理と拡張は非常に簡単で、いくつかのコマンドを実行するだけです。

1) サービスのステータスを確認します。次のコマンドを使用して、サービスのステータスを表示できます。

docker service ls
docker service ps web

このコマンドは、実行中のすべてのサービスとサービス インスタンスを表示します。この時点で、5 つの Web サービス インスタンスが実行されていることがわかります。

2) 拡張サービス。次のコマンドを使用して、サービスのインスタンスの数を拡張できます:

docker service scale web=8

このコマンドは、Web サービスのインスタンスの数を 8 に増やします。

3) サービスを更新します。サービスを更新するには、以前の docker-compose.yml ファイルを変更し、docker stackdeploy コマンドを再度実行する必要があります。変更が完了したら、次のコマンドを実行してサービスを更新します。

docker stack deploy --compose-file docker-compose.yml web

概要
マルチノード クラスター テクノロジは、Docker で使用される非常に実用的なテクノロジであり、アプリケーションの管理と拡張に役立ちます。便利に。この記事では、Docker Swarm を使用してマルチノード クラスター環境を構築する方法を紹介し、Web アプリケーションを例としてサービスを構築、デプロイ、管理、拡張する方法を示します。この記事の紹介によって、皆さんは Docker Swarm マルチノード クラスター テクノロジーについてより深く理解できるようになったと思います。

以上がDocker を使用してマルチノード クラスターを管理および拡張する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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