コンテンツにスキップ

特権TUNコンテナ自動プロビジョニング

AegisMesh のバックエンド(management/server/isolation/provisioner.go)には、Go の Docker SDK を直接制御するプロビジョニングエンジンが組み込まれています。


プロビジョナーのコア要件

各テナントのコンテナは、ホストのネットワークスタックと安全に連携するため、以下の特権パラメーターを動的に付与されて起動します。

パラメーター設定値目的・必要性
CapAddNET_ADMINWireGuard トンネルインターフェース(wt0)の生成とルーティングテーブル操作
Devices/dev/net/tunホストカーネルのTUN/TAPドライバとの直接通信
RestartPolicyunless-stoppedホストOS再起動時や障害時の自動再復旧
EnvironmentNB_SETUP_KEY, NB_MANAGEMENT_URL起動直後の自動チェックインと認証

障害検知と自己修復(Auto-Healing)

プロビジョナーは、バックグラウンドゴルーチンにより、定期的にコンテナのヘルスステータスを監視しています。

  • 異常停止検知: メモリ不足(OOM)や外部プロセス起因でコンテナが停止した場合、直ちに再起動を試行。
  • 孤立コンテナの刈り取り: データベース上で削除済みのテナントのコンテナがホスト上に残存している場合、安全に検出して破棄(Reconciliation Loop)。