今日のクラウド コンピューティング時代において、コンテナ化テクノロジは、オープンソースの世界で最も人気のあるテクノロジの 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 サイトの他の関連記事を参照してください。