0Pricing
Docker & DevOps Fundamentals · レッスン

Swarmクラスターのセットアップ

Docker Swarmを初期化し、マネージャーノードとワーカーノードを追加して、クラスターの状態を確認します。

「Swarmクラスターのセットアップ」はCoddyKit上の無料Docker & DevOps Fundamentalsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDocker & DevOps Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。

Docker Swarmのセットアップへようこそ!

コンテナをオーケストレーションする準備はできましたか?このレッスンでは、単一のDockerホストを強力なSwarmクラスターに変える方法を学びます。

Swarmを初期化し、新しいマシンをmanager nodeやworker nodeとして追加し、クラスターの健全性を確認する方法を説明します。

Swarmクラスターのセットアップ — イラスト1

Swarmセットアップの前提条件

始める前に、次の準備ができていることを確認してください。

  • Docker Desktop/Engine:使用するすべてのマシンにインストールされていること。
  • ネットワークアクセス:すべてのマシンがネットワーク経由で相互に通信できること。
  • ポートの開放:Docker Swarmでは通信に特定のポートを使用します。次のポートが開放されていることを確認してください。
    • TCP port 2377:クラスター管理の通信に使用します。
    • TCP & UDP port 7946:コンテナネットワークのオーバーレイに使用します。
    • UDP port 4789:オーバーレイネットワークのトラフィックに使用します。

最初のSwarmを初期化する

新しいSwarmを開始するには、最初のmanager nodeにするマシンを1台選びます。このノードがすべてのオーケストレーションタスクを処理します。

docker swarm initコマンドを使用して開始します。これにより、現在のDocker EngineがSwarm managerになります。

デフォルトでは、現在のマシンのIPアドレスが使用されます。必要に応じて、--advertise-addrを使って別のIPアドレスを指定できます。

デモ:Swarmを初期化する

新しいSwarmを初期化しましょう。選択したmanagerマシンで次のコマンドを実行してください。初期化後、その状態を確認します。

注:DockerがIPアドレスを正しく自動検出できない場合は、YOUR_MANAGER_IPを実際のマシンのIPアドレスに置き換える必要があります。

docker swarm init --advertise-addr YOUR_MANAGER_IP
docker node ls

Swarmのノードロールを理解する

Docker Swarmでは、ノードにそれぞれ異なるロールがあります。

  • Manager Nodes:Swarmの中枢です。クラスターを管理し、サービスをオーケストレーションし、アプリケーションの望ましい状態を維持します。高可用性を実現するため、通常は複数のmanagerを配置します。
  • Worker Nodes:実際のコンテナ化されたアプリケーションが実行されるノードです。manager nodeからタスクを受け取り、実行します。

1つのノードがmanagerとworkerの両方を兼ねることもできます。

SwarmにWorker Nodeを追加する

Swarmを初期化したら、さらにマシンをworker nodeとして追加できます。これにより、コンテナを実行するクラスターの容量を拡張できます。

docker swarm initを実行すると、docker swarm join --token :2377のようなコマンドが出力されます。このコマンドを他のマシンで実行すると、それらをworkerとして参加させられます。

tokenは認証とセキュリティに不可欠です。

デモ:Workerの参加コマンド

これは、別のマシン(workerとして使用するマシン)で実行してSwarmに参加させるコマンドの例です。SWMTKN-...を実際のtokenに、MANAGER_IPをmanagerのIPアドレスに置き換えてください。

注:このコマンドは複数マシンの構成が必要なため、この環境では直接実行できません。説明用の例です。

docker swarm join \
  --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
  192.168.1.100:2377

Swarmクラスターの状態を確認する

ノードを追加した後は、正常にSwarmへ参加できていることを確認するのがよい習慣です。

任意のmanager nodeでdocker node lsコマンドを使用すると、Swarm内のすべてのノード、その状態、可用性、ロールを確認できます。

ノードを完全に稼働させるには、STATUSがReady、AVAILABILITYがActiveになっている必要があります。

クイックチェック:Swarmの初期化

新しいDocker Swarmをセットアップすることにしました。最初のホストマシンを初期manager nodeにするには、どのコマンドを使用しますか?

振り返り:Swarmをセットアップする

よくできました!Docker Swarmクラスターのセットアップに必要な基本事項を学びました。

  • docker swarm init:新しいSwarmを作成し、現在のマシンを最初のmanagerに指定します。
  • docker swarm join:既存のSwarmに他のマシンをworkerまたはmanager nodeとして追加します。
  • docker node ls:Swarmクラスター内のすべてのノードの状態とロールを確認できます。

これらのコマンドを使えば、コンテナ化されたアプリケーションをオーケストレーションするための堅牢な基盤を構築できます。

よくある質問

「Swarmクラスターのセットアップ」レッスンは無料ですか?

はい。「Swarmクラスターのセットアップ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Docker & DevOps Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。

「Swarmクラスターのセットアップ」で何を学びますか?

Docker Swarmを初期化し、マネージャーノードとワーカーノードを追加して、クラスターの状態を確認します。 ブラウザで直接実行するハンズオンコードでDocker & DevOps Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Docker & DevOps Fundamentalsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDocker & DevOps Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Swarmクラスターのセットアップ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDocker & DevOps Fundamentalsレッスンでコードを書いて実行できますか?

はい。すべてのDocker & DevOps Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Docker Swarm入門
  2. Swarmクラスターのセットアップ
  3. Swarmへのサービスのデプロイ
  4. Swarmでのスケーリングとローリングアップデート
← Docker & DevOps Fundamentalsに戻る