Tableau Server Helm チャート - 概要

重要: このドキュメントは、Helm と Helm チャートに関する知識があることを前提としており、詳細で規範的な例を提供するものではありません。これは、Tableau Server、Helm、Helm チャートのすべてに精通しているお客様向けに設計されています。

はじめに

Tableau Server Helm チャートを使用すると、Kubernetes のパッケージ マネージャーである Helm を使用して、Kubernetes クラスター上に Tableau Server を展開および管理できます。この Helm チャートは、コンテナ化された環境で Tableau Server を実行するために必要なすべての Kubernetes リソースをパッケージ化し、宣言的で繰り返し可能な導入プロセスを提供します。

Helm とは

Helmは、アプリケーションの導入と管理を簡素化する、Kubernetes のパッケージ マネージャーです。Helm は、事前設定された Kubernetes リソースのパッケージであるチャート (Chart) を使用します。Tableau Server の Helm チャートには、次のような必要なコンポーネントがすべてバンドルされています。

  • 導入と StatefulSets
  • サービスと Ingress の構成
  • ConfigMap とシークレット
  • データ ストレージ用の PersistentVolumeClaims
  • RBAC ポリシーと ServiceAccounts

アーキテクチャ

コンポーネント

Tableau Server の Helm チャートでは、次の主要コンポーネントが導入されます。

Tableau サーバーコンテナー

  • Linux コンテナ内で完全な Tableau Server インスタンスを実行します。
  • UBI 8 イメージをベースに、supervisord でプロセスを管理します。
  • コンテナーの起動時に、Tableau Server が自動的に初期化され、起動します

Kubernetes のリソース

  • StatefulSet: 安定したネットワーク ID で Tableau Server ポッドを管理します。
  • PersistentVolumeClaim: /var/opt/tableau にある Tableau データに永続的なストレージを提供します。
  • サービス: クラスター内で Tableau Server を公開します。
  • Ingress (オプション): Tableau Server への外部アクセスを提供します。
  • ConfigMap: 機密性の低い構成を保存します。
  • シークレット: ライセンスやパスワードなどの機密データを保存します。

導入のトポロジ

シングルノード展開

  • すべてのプロセスが 1 つのノード上にある 1 つの Tableau Server ポッド
  • 開発、テスト、小規模な本番ワークロードに適しています
  • 必要なリソースを最小限に抑えた最もシンプルな構成

マルチノード展開

  • ノードに分散された複数の Tableau Server ポッド
  • bootstrap の調整のための共有ネットワーク ストレージ
  • 本番ワークロード向けの可用性と拡張性の向上
  • ノードの調整には追加の構成が必要です。

セキュリティに関する考慮事項

  • シークレット管理: 本番環境の機密データには、常に Kubernetes シークレットを使用してください。
  • ネットワーク ポリシー: ポッドの通信を制限するために、ネットワーク ポリシーの実装を検討してください。
  • RBAC: このチャートによってサービス アカウントが作成されます。必要に応じて RBAC を構成してください。
  • イメージのセキュリティ: 信頼できるコンテナ イメージを使用して、脆弱性スキャンを実行します。
  • TLS/SSL: 本番環境の Ingress に対して TLS を有効にする

Helm を使用する利点

導入の簡略化

  • helm install コマンドのみで Tableau Server をインストールできる
  • values ファイルによる宣言型の構成
  • バージョン管理された infrastructure as code

更新とロールバックを簡単に実行できる

  • helm upgrade を使用した Tableau Server バージョンのアップグレード
  • 問題が発生した場合は、以前のバージョンにロールバックします。
  • 導入履歴の追跡

整合性のある環境

  • 同じチャートを開発、ステージング、本番環境にデプロイします。
  • 値ファイルを使用した環境固有のカスタマイズ
  • 構成ドリフトの削減

組み込みのベストプラクティス

  • 構成済みのリソース要求と制限
  • ヘルス チェックと readiness プローブ
  • セキュリティ コンテキストと RBAC ポリシー

サポート対象プラットフォーム

Kubernetes ディストリビューション

  • セルフマネージド Kubernetes クラスター (1.19+)
  • Amazon EKS (Elastic Kubernetes Service)
  • Azure Kubernetes Service (AKS)
  • Google GKE (Google Kubernetes Engine)
  • Red Hat OpenShift

本番環境の要件

  • Kubernetes 1.19 以降
  • Helm 3.x
  • 永続ストレージ プロビジョナー (PersistentVolume 用)
  • LoadBalancer または Ingress コントローラー (外部アクセス用)
  • ノードあたり最小 16 GB の RAM および 4 CPU コア (8 CPU コアを推奨 - Tableau Server の最小ハードウェア要件と推奨事項を参照)。

制限事項

Helm チャートには多くの利点がありますが、次の点に注意してください。

  • 各ポッドは、個々のマイクロサービスではなく、完全な Tableau Server インスタンスを実行します。
  • コンテナーを再起動すると、プロセスが再初期化されます (データは再初期化されません)。
  • Tableau Server のアーキテクチャでは、ポッドの水平自動スケーリングはサポートされていません。
  • マルチノード展開では、調整のために共有ネットワーク ストレージが必要です。
  • 一部の高度な Tableau Server 構成では、カスタムの init スクリプトが必要な場合があります。

開始する

Tableau Server Helm チャートの使用を開始するには、Tableau Server Helm チャート - 前提条件を参照してください。

導入の例については、Tableau Server Helm チャート - 展開を参照してください。

トラブルシューティングのガイダンスについては、Tableau Server Helm チャート - トラブルシューティングを参照してください。

その他のリソース

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!