すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Terway の conntrack 設定の最適化

最終更新日:Jun 16, 2026

Terway で高接続のワークロードに対応するには、eBPF conntrack テーブルのサイズとタイムアウト設定を調整します。

conntrack テーブルサイズの確認

eBPF conntrack テーブルのサイズは、ノードのメモリ容量に依存します。

ノード上の conntrack テーブルのサイズを表示するには、次の手順を実行します。

  1. terway-eniip Pod 名を取得します。

# kubectl describe node <nodename>  | grep terway-eniip
  kube-system                 terway-eniip-xxxx         350m (8%)     1100m (28%)  200Mi (3%)       256Mi (3%)     16h
  1. conntrack テーブルのサイズを照会します。

# kubectl exec -it -nkube-system terway-eniip-xxxx -c policy -- cilium status --verbose
...
BPF Maps:   dynamic sizing: on (ratio: 0.002500)
  Name                          Size
  Auth                          524288
  Non-TCP connection tracking   65536
  TCP connection tracking       131072
  Endpoint policy               65535
...

パラメーター:

  • dynamic sizing: on: eBPF マップは動的な上限を使用します。off に設定した場合、動的に調整するには bpf-map-dynamic-size-ratio を設定するか、固定サイズにするには bpf-ct-global-any-maxbpf-ct-global-tcp-max、および bpf-nat-global-max を設定します。

  • ratio: 0.002500:総システムメモリに対する eBPF マップの最大サイズの割合です。

  • Non-TCP connection tracking:非 TCP conntrack テーブルの最大エントリ数です。

  • TCP connection tracking:TCP conntrack テーブルの最大エントリ数です。

conntrack エントリ数の確認

デフォルトでは、各ノードはポート 9962 で Prometheus メトリクスを公開します。

メトリクス

ラベルと値

cilium_datapath_conntrack_gc_entries

family: IP アドレスタイプ。有効な値: ipv4 および ipv6

protocol: プロトコルタイプ。有効な値: non-TCP および TCP

status: クリーンアップのステータス。すべての状態を合計すると、クリーンアップ前の conntrack エントリ数が得られます。有効な値: alived および deleted

デフォルトの監視ポートの変更

パラメーター

説明

prometheus-serve-addr

Prometheus のリッスンポート。無効にするには \"\" に設定します。

  • Terway ≥ 1.14.0:デフォルトで無効

  • Terway < 1.14.0:デフォルトで :9962 に設定

このパラメーターを変更するには、「Terway 設定パラメーターのカスタマイズ」の cilium_args をご参照ください。

eBPF conntrack サイズの調整

eBPF conntrack と Linux conntrack は機能的に同じです。デフォルト設定はほとんどのシナリオに適しています。

次のシナリオでは、設定を変更してください。

  • 長時間継続する接続が多数ある場合。

  • Pod がインターネットに公開されていて、半開きの接続が多数発生する可能性がある場合。

重要

conntrack テーブルサイズの調整はリスクの高い操作です。本番環境に変更を適用する前に、影響を評価してください。調整後、「conntrack テーブルサイズの確認」で説明されているように結果を確認してください。

パラメーター

説明

bpf-map-dynamic-size-ratio

総システムメモリに対する eBPF マップの最大サイズの割合です。

off: 自動スケーリングを無効にします (マップサイズ固定)

0.0025: マップ制限を合計システムメモリの 0.0025 に設定します

bpf-ct-timeout-regular-any

非 TCP conntrack エントリのタイムアウト。

デフォルト値: 1m0s

bpf-ct-timeout-regular-tcp

確立された TCP conntrack エントリのタイムアウト。

デフォルト値: 6h0m0s

bpf-ct-timeout-regular-tcp-fin

TCP conntrack エントリを閉じるためのタイムアウト。

デフォルト値: 10s

bpf-ct-timeout-regular-tcp-syn

TCP conntrack エントリを確立するためのタイムアウト。

デフォルト値: 1m0s

bpf-ct-timeout-service-any

非 TCP サービスの conntrack エントリのタイムアウト。

デフォルト値: 1m0s

bpf-ct-timeout-service-tcp

確立された TCP サービスの conntrack エントリのタイムアウト。

デフォルト値: 6h0m0s

bpf-ct-timeout-service-tcp-grace

TCP サービスのグレースフルシャットダウンのタイムアウト。

デフォルト値: 1m0s

conntrack-gc-interval

conntrack テーブルのクリーンアップ間隔。

デフォルト値: 5m0s

説明

cilium-agent が conntrack テーブルをクリーンアップする間隔。デフォルト値を超えないようにしてください。

間隔を短くすると、cilium-agent の CPU 使用率が増加しますが、conntrack テーブルがいっぱいになるのを防ぎます。ACK コンソールで Terway コンテナの CPU 制限を調整してください。

bpf-ct-global-any-max

非 TCP サービスの conntrack テーブルの最大サイズ。

説明

動的サイジングが有効な場合、bpf-map-dynamic-size-ratio を使用してテーブルサイズを調整してください。

bpf-ct-global-tcp-max

TCP サービスの conntrack テーブルの最大サイズ。

説明

動的サイジングが有効な場合、bpf-map-dynamic-size-ratio を使用してテーブルサイズを調整してください。

bpf-nat-global-max

BPF NAT テーブルの最大サイズ。

説明

bpf-ct-global-any-max と bpf-ct-global-tcp-max の合計より小さくする必要があります。

デフォルト = (bpf-ct-global-any-max + bpf-ct-global-tcp-max) × 2/3

動的サイジングが有効な場合、bpf-map-dynamic-size-ratio を使用してテーブルサイズを調整してください。

これらのパラメーターを変更するには、「Terway 設定パラメーターのカスタマイズ」の cilium_args をご参照ください。

bpf-map-dynamic-size-ratio0.0025 に設定した場合のマップサイズ:

ノードメモリ

CT マップサイズ (TCP)

CT マップサイズ (any)

NAT マップサイズ

7.5 GiB

131,072

65,536

131,072

16 GiB

151,765

75,882

151,765

30 GiB

284,560

142,280

284,560

240 GiB

2,276,484

1,138,242

2,276,484

bpf-map-dynamic-size-ratio0.003 に、bpf-ct-timeout-regular-tcp1h に設定します:

10-terway.conf: |
{
  "cniVersion": "0.4.0",
  "name": "terway",
  "capabilities": {"bandwidth": true},
  "eniip_virtual_type": "IPvlan",
  "cilium_args": "--bpf-map-dynamic-size-ratio=0.003 --bpf-ct-timeout-regular-tcp=1h",
  "type": "terway"
}