概要
今回の手順では、2ノードのYellowfin クラスタを作成し、各ノードに6GBのRAMを割り当て、TraefikがDNSホスト名またはIPアドレスの80ポート (標準的なHTTPポート) からのリクエストをYellowfinインスタンスに転送します。
TraefikをフロントにしてYellowfinを導入する場合、YellowfinのKubernetes サービスは、Kubernetesの「ClusterIP」サービスタイプがデフォルトとなるため、Kubernetes クラスタの外部インターフェイスにポートを公開しません。
これらのデフォルトを使用してYellowfin クラスタを導入する前に、リポジトリデータベースを作成し、Yellowfin コンテナで使用するのと同じバージョンのYellowfinと同期していることを確認してください。これを実行するには、Yellowfinのフルアプリケーションインストーラーをダウンロードし、ワークステーションにインストールします。これにより、フォルダー内にYellowfin リポジトリデータベースおよびYellowfin インスタンスが作成されます。これらは、コンテナの設定後に削除することができます。
サポートされているデータベースのタイプを確認するには、Yellowfinのインストールおよび導入ページでデータベース情報を参照してください。
Yellowfin クラスタを導入するには、次の手順に従います。
ワークステーションに、Yellowfinのフルアプリケーションインストーラーバージョンをインストールします (これは、コンテナがリポジトリデータベースを使用できるようにするための一時的なものです)。
このインストールからweb.xml ファイルをコピーし、バックアップとして任意の場所に保存します (これは、Yellowfin リポジトリデータベースに接続するために必要なYellowfin 認証情報の参照として機能します)。
Kubernetesが実行され、Traefikがインストールされていることを確認します。
次のテキストをコピーし、任意のテキストエディターに貼り付けます。
Code Block |
---|
|
---
### Yellowfin Cluster Service ###
apiVersion: v1
kind: Service
metadata:
name: yellowfin-cluster
spec:
ports:
- protocol: TCP
name: web
port: 8080
selector:
app: yellowfin-cluster
---
### Yellowfin Cluster Deployment ###
kind: Deployment
apiVersion: apps/v1
metadata:
namespace: default
name: yellowfin-cluster
labels:
app: yellowfin-cluster
spec:
replicas: 2
selector:
matchLabels:
app: yellowfin-cluster
template:
metadata:
labels:
app: yellowfin-cluster
spec:
containers:
- env:
- name: APP_MEMORY
value: "6144"
- name: CLUSTER_PORT
value: "7800"
- name: JDBC_CLASS_NAME
value: INSERT_DATABASE_TYPE_HERE
- name: JDBC_CONN_ENCRYPTED
value: "true"
- name: JDBC_CONN_PASS
value: INSERT_JDBC_PASSWORD_HERE
- name: JDBC_CONN_URL
value: jdbc:INSERT_JDBC_CONNECTION_STRING_HERE
- name: JDBC_CONN_USER
value:INSERT_DATABASE_USER_HERE
- name: NODE_BACKGROUND_TASKS
value: REPORT_BROADCAST_BROADCASTTASK,REPORT_BROADCAST_MIREPORTTASK,FILTER_CACHE,SOURCE_FILTER_REFRESH,SOURCE_FILTER_UPDATE_REMINDER,THIRD_PARTY_AUTORUN,ORGREF_CODE_REFRESH,ETL_PROCESS_TASK,SIGNALS_DCR_TASK,SIGNALS_ANALYSIS_TASK,SIGNALS_CLEANUP_TASK,COMPOSITE_VIEW_REFRESH,SIGNALS_CORRELATION_TASK
- name: NODE_PARALLEL_TASKS
value: 4,4,4,4,4,4,4,4,4,4,4,4,4
name: yellowfin-cluster
image: yellowfinbi/yellowfin-app-only:<RELEASE_VERSION_GOES_HERE>
ports:
- name: web
containerPort: 8080
---
### Yellowfin Cluster Ingress ###
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: yellowfiningressroute
namespace: default
spec:
entryPoints:
- webs
routes:
- match: Host(`INSERT_DNS_HOSTNAME`)
kind: Rule
services:
- name: yellowfin-cluster
port: 8080
sticky:
cookie:
httpOnly: true
name: stickyCookie |
上記テキストを確認し、データベース接続設定を独自の設定詳細に置き換えます (これらは、Yellowfin インストールのweb.xml ファイルにあります)。
上記テキストで、INSERT_DNS_HOSTNAMEを、Traefikがリッスンするための独自のDNS名 (またはIPアドレス) に置き換えて、リクエストをYellowfin インスタンスにルーティングします。以下の例では、DNS名の例を追加しました。
Code Block |
---|
|
### Yellowfin Cluster Ingress ###
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: yellowfiningressroute
namespace: default
spec:
entryPoints:
- webs
routes:
- match: Host(`yellowfin.example.com`)
kind: Rule
services:
- name: yellowfin-cluster
port: 8080
sticky:
cookie:
httpOnly: true
name: stickyCookie |
テキストをyellowfin-cluster.ymlと呼ばれるYAML ファイルに保存します。
Yellowfinを導入するためにターミナルから次のコマンドを実行し、バックグラウンドで実行します。
Kubectl apply –f yellowfin-cluster.yml
ホストURLを入力し、Yellowfinを起動します。
Yellowfinがコンテナから実行されていること、およびログインできることを確認します (これにより、ログイン認証情報が正しいことが確認されるので、Yellowfinのワークステーションインスタンスを安全に削除することができます)。
フォルダーを削除して、Yellowfinのワークステーションインスタンスを削除します。
Tip |
---|
AWS EKSを使用している場合や、Yellowfinインスタンスのクラスタリングに問題がある場合は、以下の環境変数CLUSTER_INTERFACEと値をKubernetesデプロイメントファイルのコンテナセクションにマージしてください。 Code Block |
---|
| containers:
-env
name: CLUSTER_INTERFACE
value: "match-interface:eth1" |
|
項目ナビゲーション
現在のトピック - コンテナ環境へのインストール
本ページはコンテナ環境へのインストール項目の一部であり、DockerおよびKubernetesそれぞれの項目には、以下のページが含まれます。
Docker
Column |
---|
|
Child pages (Children Display) |
---|
|
|
Kubernetes
Column |
---|
|
Child pages (Children Display) |
---|
|
|
本ページはYellowfinのインストールおよび導入項目の一部であり、以下のトピックを含みます。
オンプレミス環境へのインストール
オンプレミス環境へのインストール
Column |
---|
|
Child pages (Children Display) |
---|
|
|
クラウド環境へのインストール
クラウド環境へのインストール
Column |
---|
|
Child pages (Children Display) |
---|
|
|
コンテナ環境へのインストール
コンテナ環境へのインストール
Column |
---|
|
Child pages (Children Display) |
---|
|
|
Yellowfinの導入
Yellowfinの導入
Column |
---|
|
Child pages (Children Display) |
---|
|
|
高度な導入
高度な導入
Column |
---|
|
Child pages (Children Display) |
---|
|
|