メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.jitera.ai/llms.txt

Use this file to discover all available pages before exploring further.

Spot インスタンス(AWS)および Spot VM(Azure)は、オンデマンド料金と比較して大幅なコスト削減(約60〜70%の削減)を実現します。すべての Jitera アプリケーションサービスはステートレスであり、データベースをマネージドサービスに外部化している場合、Spot インスタンスと互換性があります。

Azure AKS — Spot Toleration

AKS は Spot ノードプールに対して自動的に kubernetes.azure.com/scalesetpriority=spot:NoSchedule という taint を適用します。この taint は削除できません — AKS はノードのスケールアップごとに再追加します。Jitera Helm チャートにはデフォルトで対応する toleration が含まれていないため、明示的な設定がなければすべての Pod が Pending 状態のままになります。
以下の toleration がない場合、すべての Pod が Pending 状態でスタックし、次のメッセージが表示されます:
0/N nodes are available: N node(s) had untolerated taint
{kubernetes.azure.com/scalesetpriority: spot}
これは Azure 固有の動作です — AWS EKS Spot ノードグループはデフォルトで NoSchedule taint を適用しません

必要な Helm Values

values ファイルのすべてのコンポーネントに Spot toleration を追加してください。Helm チャートはグローバルな toleration をサポートしていないため、各コンポーネントを個別に設定する必要があります。
# --- すべての Jitera コンポーネント用 Spot toleration ---
# 以下に記載されたすべてのコンポーネントに対して繰り返し設定が必要です。

automation:
  tolerations: &spot-toleration
    - key: kubernetes.azure.com/scalesetpriority
      operator: Equal
      value: spot
      effect: NoSchedule
  rails:
    tolerations: *spot-toleration
  sidekiq:
    tolerations: *spot-toleration

ultron:
  tolerations: *spot-toleration

ultron_public:
  tolerations: *spot-toleration

boost:
  tolerations: *spot-toleration

litellm:
  tolerations: *spot-toleration

frontend:
  tolerations: *spot-toleration

frontend_core:
  tolerations: *spot-toleration

swef:
  tolerations: *spot-toleration

hasura:
  tolerations: *spot-toleration

html_conversion:
  tolerations: *spot-toleration

playwright:
  tolerations: *spot-toleration

document_converter:
  tolerations: *spot-toleration

kong:
  tolerations: *spot-toleration

# --- クラスター内データベース(外部化していない場合) ---
rabbitmq:
  tolerations: *spot-toleration

redis:
  tolerations: *spot-toleration

mongodb:
  tolerations: *spot-toleration

postgresql:
  tolerations: *spot-toleration

pgvector:
  tolerations: *spot-toleration

# --- 監視スタック ---
monitoring:
  prometheus:
    tolerations: *spot-toleration
  grafana:
    tolerations: *spot-toleration
  loki:
    tolerations: *spot-toleration
  tempo:
    tolerations: *spot-toleration
  promtail:
    tolerations: *spot-toleration
  otelCollector:
    tolerations: *spot-toleration
YAML アンカー &spot-toleration とエイリアス *spot-toleration を使用することで、各コンポーネントに対して完全な toleration ブロックを繰り返し記述する必要がなくなります。これは標準的な YAML の機能であり、helm install -f values.yaml で動作します。

AWS EKS — Spot 設定

AWS EKS Spot ノードグループはデフォルトで NoSchedule taint を適用しないため、toleration の設定は不要です。Pod は自動的に Spot ノードにスケジュールされます。 EKS での Spot 設定については、Amazon EKS マネージドノードグループのドキュメントを参照してください。

関連ドキュメント

AWS EKS インストール

EKS クラスターの作成と Helm デプロイメント

Azure AKS インストール

AKS クラスターの作成と Helm デプロイメント

サイジングガイド

インスタンスタイプとリソース計画