40-overleaf.yaml
/status が応答すれば Pod の準備は完了です。その後 OVERLEAF_SITE_URL を開いてください。
マニフェストがこのような構成になっている理由
- データボリューム。
/var/lib/overleaf以下のすべて(プロジェクトファイル、履歴、アップロード)は PVC に保存されます。local-path のようなノードローカルのストレージでは、データは 1 つのノードにとどまります。ネットワークブロックストレージであれば、Pod はノード間を移動できます。 - コンパイル用ボリュームと Docker ソケット。 Ayakaleaf Pro はノードの Docker に TeX Live コンテナの起動を要求し、プロジェクトのコンパイルディレクトリをノード上のパスで渡します。そのため、これらのディレクトリは
hostPathボリュームとし、そのパスをSANDBOXED_COMPILES_HOST_DIR_*にも記述します。内容は一時的なデータであり、バックアップは不要です。 enableServiceLinks: false。 Kubernetes は、Namespace 内のすべての Service について Docker 形式の変数を各 Pod に追加します。ServiceredisはREDIS_PORT=tcp://10.x.x.x:6379に、Servicegit-bridgeはGIT_BRIDGE_PORT=tcp://...になります。一部の Overleaf サービスはこれらの名前の変数を読み取ります。この Pod ではOVERLEAF_REDIS_*と ConfigMap の設定が優先されますが、git-bridge はGIT_BRIDGE_PORTをポートとして解釈して停止してしまいます(Git 連携を参照)。リンクを無効にすることで、環境を自分で設定したものだけに保てます。Recreate。 2 つの Pod が同じデータボリュームを使用したり、同時にマイグレーションを実行したりしてはなりません。- 公開方法。 NodePort Service はすべてのノードのポート
30080で応答します。本番環境では、前段に Ingress コントローラーまたはロードバランサーを置いてそこで TLS を終端してください。WebSocket、10 分間のリクエストタイムアウト(長時間のコンパイル)、50 MB のアップロードを許可し、X-Forwarded-ForとX-Forwarded-Protoを渡す必要があります。

