Docker アーキテクチャー - 典型的なDocker swarm クラスタ
次の図は、Docker Swarm 環境で実行されている典型的なYellowfin クラスタ環境を示しており、これには通常Docker導入例の大部分のコンポーネントが含まれています。こちらのアーキテクチャーでは、Yellowfin コンテナにリクエストをルーティングするためにTraefikを使用していますが、スティッキーセッションを使用する任意のコンテナ対応プロキシを代わりに使用することができます。
上図の詳細な説明は以下の通りです。
- Docker マスターノード
- Docker Swarm ワーカーノード: Yellowfin コンテナは, Docker Swarm環境のワーカーノード内に配置されます。
- Yellowfin コンポーネント: Yellowfin クラスタ環境を構成するYellowfin コンテナは、Docker Swarm クラスタ内の複数のDocker ワーカー/スレーブノードに導入されます。Traefikとは異なり、Yellowfin コンテナを導入できるノードに制限はありません。選択したYellowfinの導入形式に応じて、Docker 環境ではひとつ以上のYellowfin インスタンスが実行され、これらのインスタンスは同じデータベース (クラスタ化されたYellowfin 導入の場合) 、または異なるデータベース (個別のインスタンス導入の場合) に接続されます。上図では、同じデータベースに接続しています。
- DBMS: 現時点では、パフォーマンス上の理由から、Docker コンテナのリポジトリデータベースを本番環境で運用することは推奨しません。代わりに、AWSの場合はEC2インスタンス、AWS RDSを使用するなど、専用のデータベースサーバーを推奨します。
- Traefik: Traefikは、コンテナ対応のリバースプロキシで、(Docker Swarm APIへのアクセスが必要なため) Docker Swarm 環境のマネージャーノード上で動作し、Yellowfin コンテナのロードバランシングとスティッキーセッションを制御します。 (例えば、すでにNginxを使用しているなど) Traefikを使用したくない場合は、スティッキーセッションをサポートする独自のロードバランシングツールを使用できます。TraefikとDocker Swarmについては、後ほど詳しく説明します。
Docker アーキテクチャー - 典型的な単一サーバインスタンス
次の図は、Docker サーバ上で実行されている典型的な単一のYellowfin インスタンスを示しています。
Docker上に単一インスタンスのYellowfinを導入する場合、Traefikの導入はオプションです。Yellowfin インスタンスがひとつだけ実行されているので、リバースプロキシは必要ありません。
Docker サーバに単一のYellowfin インスタンス導入する場合、Traefikを導入してYellowfin コンテナにリクエストをルーティングすることができます (ただし、こちらではその例を紹介しません)。これを実現する方法については、Traefikのドキュメントを参照してください。
上図の詳細な説明は以下の通りです。
- Docker サーバ
- Yellowfin コンポーネント: Yellowfin インスタンスはコンテナに導入され、個別のデータベースに接続されます。
- DBMS: 現時点では、パフォーマンス上の理由から、Docker コンテナのリポジトリデータベースを本番環境で運用することは推奨しません。代わりに、AWSの場合はEC2インスタンス、AWS RDSを使用するなど、専用のデータベースサーバーを推奨します。
その他のシナリオ
Docker Swarm上に複数の個別のYellowfin インスタンスを導入する場合、Traefikの導入はオプションです。この状況で導入された場合、Yellowfin インスタンスに直接ルーティングするDocker Swarm クラスタのポートを公開する代わりに、リクエストを個別のYellowfin 導入にルーティングすることができます。
単一のDocker サーバにYellowfinをクラスタ化して導入する場合、Docker 環境にスティッキーセッションのプロビジョニングをサポートする外部ロードバランサーを備えることができれば、上図のTraefikを置き換えることができます。
Yellowfin オールインワンイメージを使用している場合、イメージに独自のデータベースが組み込まれているため、外部のYellowfinリポジトリデータベースは必要ありません。
導入の準備
YellowfinをDockerに導入する前に、要件に適した導入の形式を選択していることを確認してください。選択肢は以下の通りです。- Docker Composeを使用した単一のDocker サーバ上のYellowfin
- Docker Stack ファイルを使用したDocker Swarm 環境上のYellowfin
前提条件
YellowfinをDockerに導入する前に、以下の準備が必要です。
- Docker Composeがインストールされているか、Docker Swarmクラスタを備えた実行中のDocker サーバー
- アプリケーションサーバのセキュリティの理解
項目ナビゲーション
現在のトピック - コンテナ環境へのインストール
本ページはコンテナ環境へのインストール項目の一部であり、DockerおよびKubernetesそれぞれの項目には、以下のページが含まれます。
本ページはYellowfinのインストールおよび導入項目の一部であり、以下のトピックを含みます。