概要
Yellowfinの複数の個別のインスタンスの導入をセットアップする手順では、KubernetesでLoadBalancer サービスタイプを使用して2つのYellowfin インスタンスを作成し、プロビジョニングされたロードバランサーの8080ポートで各Yellowfin インスタンスにアクセスできるようにします。
Yellowfinの本番環境には6GBのRAMが割り当てられ、開発環境には4GBのRAMが割り当てられます。導入中にロードバランサーをプロビジョニングできないKubernetes環境 (例えば、基礎的なオンプレミス環境など) では、サービス仕様を変更してServiceTypeをNodePortに切り替えることができます。
これらのデフォルトを使用してインスタンスを導入する前に、リポジトリデータベースを作成し、Yellowfin コンテナで使用するのと同じバージョンのYellowfinと同期していることを確認してください。これを実行するには、Yellowfinのフルアプリケーションインストーラーをダウンロードし、ワークステーションにインストールします。これにより、フォルダー内にYellowfin リポジトリデータベースおよびYellowfin インスタンスが作成されます。これらは、コンテナの設定後に削除することができます。
サポートされているデータベースのタイプを確認するには、インストールの前提条件ページでデータベース情報を参照してください。
以下の手順では、2つの個別のYellowfin インスタンスを導入する方法を紹介します。
ワークステーションに、Yellowfinのフルアプリケーションインストーラーバージョンをインストールします (これは、コンテナがリポジトリデータベースを使用できるようにするための一時的なものです)。
このインストールからweb.xml ファイルをコピーし、バックアップとして任意の場所に保存します (これは、Yellowfin リポジトリデータベースに接続するために必要なYellowfin 認証情報の参照として機能します)。
Kubernetesが実行されていることを確認します。
次のテキストをコピーし、任意のテキストエディターに貼り付けます。
--- ### Yellowfin Production Instance - Service ### apiVersion: v1 kind: Service metadata: name: yellowfin-multi-instance-prod spec: ports: - name: "web" port: 8080 targetPort: 8080 selector: app: yellowfin-multi-instance-prod type: LoadBalancer status: loadBalancer: {} --- ### Yellowfin Development Instance - Service ### apiVersion: v1 kind: Service metadata: name: yellowfin-multi-instance-dev spec: ports: - name: "web" port: 8080 targetPort: 8080 selector: app: yellowfin-multi-instance-dev type: LoadBalancer status: loadBalancer: {} --- ### Yellowfin Production Instance - Deployment ### apiVersion: apps/v1 kind: Deployment metadata: namespace: default labels: app: yellowfin-multi-instance-prod name: yellowfin-multi-instance-prod spec: replicas: 1 selector: matchLabels: app: yellowfin-multi-instance-prod template: metadata: labels: app: yellowfin-multi-instance-prod spec: containers: - env: - name: APP_MEMORY value: "6144" - name: JDBC_CLASS_NAME value: INSERT_DATABASE_TYPE_1_HERE - name: JDBC_CONN_ENCRYPTED value: "true" - name: JDBC_CONN_PASS value: INSERT_JDBC_PASSWORD_1_HERE - name: JDBC_CONN_URL value: jdbc:INSERT_JDBC_CONNECTION_STRING_1_HERE - name: JDBC_CONN_USER value: INSERT_DATABASE_USER_1_HERE name: yellowfin-multi-instance-prod image: yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE> ports: - name: web containerPort: 8080 --- ### Yellowfin Development Instance - Deployment ### apiVersion: apps/v1 kind: Deployment metadata: namespace: default labels: app: yellowfin-multi-instance-dev name: yellowfin-multi-instance-dev spec: replicas: 1 selector: matchLabels: app: yellowfin-multi-instance-dev template: metadata: labels: app: yellowfin-multi-instance-dev spec: containers: - env: - name: APP_MEMORY value: "4096" - name: JDBC_CLASS_NAME value: INSERT_DATABASE_TYPE_2_HERE - name: JDBC_CONN_ENCRYPTED value: "true" - name: JDBC_CONN_PASS value: INSERT_JDBC_PASSWORD_2_HERE - name: JDBC_CONN_URL value: jdbc: INSERT_JDBC_CONNECTION_2_STRING_HERE - name: JDBC_CONN_USER value: INSERT_DATABASE_USER_2_HERE name: yellowfin-multi-instance-prod image: yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE> ports: - name: web containerPort: 8080
上記テキストを確認し、データベース接続設定を独自の設定詳細に置き換えます (これらは、Yellowfin インストールのweb.xml ファイルにあります)。
テキストをyellowfin-multiple-instances.ymlと呼ばれるYAML ファイルに保存します。
Yellowfinを導入するためにターミナルから次のコマンドを実行します。
Kubectl apply –f yellowfin-multiple-instances.ymlホストURLを8080ポート (または、設定した他のすべてのポート)で入力し 、Yellowfinを起動します。
Yellowfinがコンテナから実行されていること、およびログインできることを確認します (これにより、ログイン認証情報が正しいことが確認されるので、Yellowfinのワークステーションインスタンスを安全に削除することができます)。
フォルダーを削除して、Yellowfinのワークステーションインスタンスを削除します。