ホームページ >運用・保守 >Docker >Docker Swarmクラスターを作成するにはどうすればよいですか?

Docker Swarmクラスターを作成するにはどうすればよいですか?

Robert Michael Kim
Robert Michael Kimオリジナル
2025-03-17 16:19:26863ブラウズ

Docker Swarmクラスターを作成するにはどうすればよいですか?

Docker Swarm Clusterを作成するには、Dockerホスト(ノード)のグループを単一の仮想Dockerホストにセットアップすることが含まれます。以下は、ノードを初期化してDocker Swarmクラスターに結合するためのステップバイステップガイドです。

  1. 各ノードにDockerをインストールする:群れに含めたい各マシンにDockerがインストールされていることを確認します。公式Docker WebサイトからDockerをダウンロードできます。
  2. 群れの初期化:マネージャーノードになるためにマシンを選択します。このマシンで端子を開き、次のコマンドを実行して群れを初期化します。

     <code>docker swarm init --advertise-addr <manager-ip></manager-ip></code>

    <manager-ip></manager-ip>マネージャーノードのIPアドレスに置き換えます。このコマンドは、ワーカーノードを群れに結合するために使用するトークンを返します。

  3. ワーカーノードに参加:各ワーカーノードで、次のコマンドを実行して群れに参加します。

     <code>docker swarm join --token <swarm-token> <manager-ip>:2377</manager-ip></swarm-token></code>

    <swarm-token></swarm-token> docker swarm initコマンドによって提供されたトークンに置き、 <manager-ip></manager-ip>マネージャーのIPアドレスに置き換えます。

  4. 群れの確認:マネージャーノードに戻ると、ノードが実行されて正常に結合されたことを確認できます。

     <code>docker node ls</code>

    このコマンドは、群れのすべてのノードをリストし、そのステータスと可用性を示す必要があります。

Docker Swarmクラスターを設定するための最小システム要件は何ですか?

Docker Swarmクラスターをセットアップするための最小システム要件は、主にDockerエンジンの要件と展開する予定のワークロードによって決定されます。一般的なガイドラインは次のとおりです。

  • オペレーティングシステム:Docker Swarmは、Ubuntu、Centos、Debian、Windows ServerなどのLinuxディストリビューションなど、さまざまなオペレーティングシステムをサポートしています。
  • CPU :少なくともデュアルコアプロセッサをお勧めします。より多くのコアがパフォーマンスとスケーリングに役立ちます。
  • メモリ:Dockerエンジンには最低2GB RAMが推奨されますが、複数のサービスを実行するには4GB以上が適しています。
  • ストレージ:Docker画像とコンテナには、適切なディスクスペースが必要です。最低10GBが推奨されますが、これは画像のサイズとデータボリュームによって異なる場合があります。
  • ネットワーク:各ノードには、適切なポートアクセスとの安定したネットワーク接続、特にクラスター管理通信用のTCPポート2377、ノード間の通信用のTCPおよびUDPポート7946、オーバーレイネットワーク用のUDPポート4789が必要です。

Docker Swarmクラスター内のサービスを管理および拡張するにはどうすればよいですか?

Docker Swarmクラスターでのサービスの管理とスケーリングは簡単で、Docker CLIコマンドを使用して実行できます。方法は次のとおりです。

  1. サービスの展開:Swarmでサービスを作成するには、 docker service createコマンドを使用します。

     <code>docker service create --name myservice --replicas 3 <image></image></code>

    このコマンドは、指定されたDocker画像を使用して、3つのレプリカを使用してmyserviceという名前のサービスを展開します。

  2. サービスのスケール:サービスを上下にスケーリングするには、 docker service scaleコマンドを使用します。

     <code>docker service scale myservice=5</code>

    これにより、 myserviceのレプリカの数が5に変更されます。

  3. サービスの更新:画像バージョンの変更など、サービスを更新するには、以下を使用してください。

     <code>docker service update --image <new-image> myservice</new-image></code>
  4. サービスの監視:サービスとそのレプリカのステータスを監視できます。

     <code>docker service ls docker service ps myservice</code>
  5. サービスを削除:サービスを削除するには、使用してください。

     <code>docker service rm myservice</code>

これらのコマンドにより、Docker Swarmクラスター内のサービスを動的に管理および拡張できます。

Docker Swarmクラスターを保護するためのベストプラクティスは何ですか?

Docker Swarmクラスターを保護することは、アプリケーションとデータを保護するために重要です。ここにいくつかのベストプラクティスがあります:

  1. すべての通信にTLSを使用してください:ノード間のすべての通信に輸送層セキュリティ(TLS)を使用するようにDocker Swarmを構成します。群れを初期化してノードを結合するときに、 --tlsverifyフラグを使用します。
  2. スウォームトークンの回転:マネージャーとワーカーの両方のノードの結合トークンを定期的に回転させて、不正アクセスを防ぎます。

     <code>docker swarm join-token --rotate worker docker swarm join-token --rotate manager</code>
  3. ロールベースのアクセス制御(RBAC)を実装:Dockerの組み込みRBACを使用して、さまざまなユーザーとサービスのアクセス許可を管理します。特定の役割を設定し、適切にユーザーに割り当てます。
  4. ロギングを有効にして構成します:群れクラスターの集中ロギングを構成して、疑わしいアクティビティを監視および検出します。 Elk Stack(Elasticsearch、Logstash、Kibana)やDocker独自のロギングドライバーなどのツールを使用できます。
  5. シークレット管理を使用する:DockerのSecret Management機能を利用して、パスワード、TLS証明書、SSHキーなどの機密情報を安全に保存および管理します。 docker secretコマンドを使用して、サービスで秘密を作成、管理、および使用します。
  6. 定期的に更新してパッチ:Dockerエンジンやその他のソフトウェアを最新のセキュリティパッチと更新で最新の状態に保ちます。
  7. ネットワークセキュリティ:ネットワークポリシーとファイアウォールを実装して、群れノードとの間のトラフィックを制御します。オーバーレイネットワークとサービスの発見を使用して、内部コミュニケーションを安全に管理します。
  8. 監査と監視:Swarm Clusterの構成を定期的に監査し、異常を監視します。 Dockerの組み込み監視やPrometheusやGrafanaなどのサードパーティのソリューションなどのツールは、これを支援できます。

これらのプラクティスに従うことにより、Docker Swarmクラスターのセキュリティを大幅に強化できます。

以上がDocker Swarmクラスターを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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