Skip to content

システム要件

ひとつのコンテナと、 それが必要とする短いリスト

誰かが配備する前にコンテナが必要とするもの:内部のランタイム、公開するひとつのポート、保持すべきボリューム、そして私たちが推奨するホスト。

イメージ内のランタイム

ひとつのコンテナに2つの言語ランタイム。2つ目には好みではなく具体的な理由があります。

タブトータルコンテナのランタイム要件と、それぞれの読み取り元ファイル
それが何か理由と確認場所
ベースイメージpython:3.13-slim両方のビルドステージで同じベース。コンパイルされたものが、そのまま動きます。 Dockerfile:13
Python3.13 以降継続的インテグレーションで 3.13 でテスト済み。 pyproject.toml:9, .github/workflows/tests.yml:91
.NET8.0 ランタイムSDK ではなくランタイムのみ。Migrate は Tableau 自身の .NET Migration SDK をラップします。ランタイムはそれとともにイメージの中を移動します。 Dockerfile:101
実行ユーザーuid 10001, user ttcroot はマウントされたボリュームの所有権を取るために一度だけ使われ、アプリケーションが始まる前に降格されます。 Dockerfile:188
プロセッサアーキテクチャamd64arm64 ビルドは x86 ホストで問題なく読み込まれ、その後に起動に失敗します。アーキテクチャは配備の後ではなく、前に確認する価値があります。

ネットワークに届くリスナーはひとつ

統制されたアプリケーションはコンテナ内のループバックで応答します。ゲートウェイがそこに到達し、他は何も到達しません。

すべての 14 の統制されたアプリケーションはコンテナ内のローカルインターフェースに束縛され、決して公開されません。ひとつのポートがすべてのリクエストを運び入れ、ゲートウェイがそれぞれを所有するアプリケーションへ振り分け、あなたに代わって単一の Tableau セッションを保持します。

それは受け入れなければならない約束ではなく、確かめられる性質です。稼働中のコンテナの公開ポートを列挙すれば、そのリリースで内部にどんな顔ぶれがあろうと、ひとつだけ見つかります。

ポートと、その前に立つもの

コンテナは平文のトラフィックを提供し、証明書を持ちません。トランスポートのセキュリティは、すでに運用している場所に留まります。

コンテナのネットワーク要件と、それぞれの読み取り元ファイル
それが何か理由と確認場所
公開ポート既定で 8865PORT 環境変数で設定します。プロキシの後ろのデプロイメントでは、変更するのではなくマッピングするのが普通です。 Dockerfile:236
アプリケーションポート8851 から 8869、ループバック上統制された各アプリケーションはコンテナ内の 127.0.0.1 に束縛され、決して公開されません。ゲートウェイはそこに到達し、ネットワークは到達しません。
受信ルール80 と 443 は外部へ、管理アクセスは自社のアドレスからアプリケーションポートそのものは公開されないままです。
トランスポートセキュリティコンテナの手前で終端コンテナは常に平文の HTTP を提供し、証明書を持ちません。ロードバランサーやリバースプロキシがトランスポートセキュリティを担い、それはすでに他のすべてで行っている場所です。
転送ヘッダーあなたが指定したときだけ信頼ヘッダーの信頼は既定でオフです。直接到達可能なコンテナは転送アドレスを無視します。

永続化が必要なもの

ひとつのボリュームが、再構築で失ってはならないすべてを保持します。バックアップすべきパスの指示だけでは何を失うかがわからないため、このページは中身を名指しします。

コンテナが必要とする永続ストレージと、各ボリュームの中身
それが何か理由と確認場所
データボリューム/app/dataユーザーディレクトリ、変更台帳、管理監査ログ、セマンティックレイヤーのプロファイル、暗号化された接続レコード。 Dockerfile:215
アーティファクトボリューム/app/artifactsOffboard が監査の求める成果物を書き出す場所。
ボリュームサイズ推奨の 500 GB の範囲内ストアはデータベースではなく JSON と JSON Lines のファイルで、可観測性ログは 5 MB でローテーションし5ファイルを保持します。
所有権起動のたびに修正エントリポイントは特権を落とす前にボリュームの所有権を取ります。以前のバージョンで作られたボリュームは読めるままで、黙って空にされることはありません。
秘密に隣接するファイル0600 でアトミックに書き込み書きかけのファイルは、切り詰められたものではなく、直前のファイルをそのまま残します。

推奨する割り当て

Docker ホスト上のひとつのコンテナに、作業の余裕を。Boreon がプロビジョニングの目安として推奨する数字です。

タブトータルコンテナひとつに推奨するホスト
それが何か影響するもの
ホストDocker ホストすでに運用している任意の Docker ホスト上の、自己完結したひとつのコンテナ。オーケストレーターは不要です。
メモリ8 GB RAM2つの言語ランタイムとヘッドレスブラウザが、ひとつのコンテナを共有します。
利用可能ディスク500 GBイメージ、永続ボリューム、そして監査が求めるアーティファクトの余地をカバーします。

デプロイメントが自分をどう報告するか

コンテナに尋ねれば、動いているバージョンで答えます。その数字については、このページを含むどのページより良い出典です。

エンドポイント

GET /health. ステータス、製品名、稼働中のバージョンで答えます。デプロイメントは推測ではなく、確認できます。

間隔

30 秒ごと

タイムアウト

4 秒

起動時の猶予

60 秒. ゲートウェイは、準備完了を報告する前にすべての統制されたアプリケーションの応答を待ちます。コールドスタートは再起動より遅くなります。

再試行

5