Wallarm eBPF HelmチャートのWallarm固有の値¶
本書では、eBPFソリューションのデプロイまたはアップグレード時に変更可能な、Wallarm固有のHelmチャート値について説明します。これらの値は、Wallarm eBPF Helmチャートのグローバル設定を制御します。
バージョン4.10に限定
現在、WallarmのeBPFベースのソリューションはWallarm Node 4.10で利用可能な機能のみをサポートします。
デフォルトのvalues.yaml
のうち、変更が必要になる場合があるWallarm固有部分は次のとおりです。
config:
api:
token: ""
host: api.wallarm.com
port: 443
useSSL: true
mutualTLS: false
agent:
mirror:
allNamespaces: false
filters: []
# - namespace: "default"
# - namespace: 'my-namespace'
# pod_labels:
# label_name1: 'label_value_1'
# label_name2: 'label_value_2,label_value_3'
# pod_annotations:
# annotation_name1: 'annotation_value_1'
# annotation_name2: 'annotation_value_2,annotation_value_4'
loadBalancerRealIPHeader: 'X-Real-IP'
loadBalancerTrustedCIDRs: []
# - 10.0.0.0/8
# - 192.168.0.0/16
# - 172.16.0.0/12
# - 127.0.0.0/8
# - fd00::/8
...
processing:
...
metrics:
enabled: false
...
affinity: {}
# podAntiAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - weight: 100
# podAffinityTerm:
# labelSelector:
# matchExpressions:
# - key: component
# operator: In
# values:
# - mtls-router
# - key: app
# operator: In
# values:
# - mtls-router
# topologyKey: kubernetes.io/hostname
nodeSelector:
kubernetes.io/os: linux
config.api.token¶
USまたはEU CloudのWallarm Consoleで作成したWallarmノードトークンです(US / EU)。Wallarm APIへのアクセスに必要です。
config.api.host¶
Wallarm APIのエンドポイントです。次のいずれかです。
config.api.port¶
Wallarm APIのエンドポイントポートです。デフォルトは443
です。
config.api.useSSL¶
Wallarm APIへのアクセスにSSLを使用するかどうかを指定します。デフォルトはtrue
です。
config.mutualTLS¶
mTLSを有効にし、Wallarm処理ノードがeBPFエージェントからのトラフィックのセキュリティを認証できるようにします。デフォルトはfalse
(無効)です。
このパラメータはHelmチャートバージョン0.10.26以降でサポートされます。
config.agent.mirror.allNamespaces¶
すべてのNamespaceに対してトラフィックミラーリングを有効にします。デフォルト値はfalse
です。
true
への設定は推奨しません
これをtrue
に設定して有効化すると、データの重複やリソース使用量の増加を招く可能性があります。Namespaceラベル、Podアノテーション、またはvalues.yaml
のconfig.agent.mirror.filters
を用いた選択的ミラーリングを推奨します。
config.agent.mirror.filters¶
トラフィックミラーリングの対象範囲を制御します。filters
パラメータの例は次のとおりです。
...
agent:
mirror:
allNamespaces: false
filters:
- namespace: "default"
- namespace: 'my-namespace'
pod_labels:
label_name1: 'label_value_1'
label_name2: 'label_value_2,label_value_3'
pod_annotations:
annotation_name1: 'annotation_value_1'
annotation_name2: 'annotation_value_2,annotation_value_4'
config.agent.loadBalancerRealIPHeader¶
ロードバランサーが元のクライアントIPアドレスを伝達するために使用するヘッダー名を指定します。正しいヘッダー名については、ご利用のロードバランサーのドキュメントを参照してください。デフォルトはX-Real-IP
です。
loadBalancerRealIPHeader
とloadBalancerTrustedCIDRs
パラメータにより、Kubernetesクラスター外部のL7ロードバランサー(例: AWS ALB)経由でトラフィックがルーティングされる場合でも、Wallarm eBPFが送信元IPを正確に特定できるようになります。
config.agent.loadBalancerTrustedCIDRs¶
信頼するL7ロードバランサーのCIDR範囲の許可リストを定義します。例:
Helmを使用してこれらの値を更新するには:
# リストに単一の項目を追加する場合:
helm upgrade <RELEASE_NAME> <CHART> --set 'config.agent.loadBalancerTrustedCIDRs[0]=10.10.0.0/24'
# リストに複数の項目を追加する場合:
helm upgrade <RELEASE_NAME> <CHART> --set 'config.agent.loadBalancerTrustedCIDRs[0]=10.10.0.0/24,config.agent.loadBalancerTrustedCIDRs[1]=192.168.0.0/16'
processing.metrics¶
Wallarmノードのメトリクスサービスの設定を制御します。デフォルトではサービスは無効です。
サービスを有効にする場合は、port
、path
、scrapeInterval
のデフォルト値を維持することを推奨します。
processing.affinityとprocessing.nodeSelector¶
Wallarm eBPFのdaemonSetをデプロイするKubernetesノードを制御します。デフォルトでは各ノードにデプロイされます。
変更の適用¶
values.yaml
ファイルを変更し、デプロイ済みチャートをアップグレードする場合は、次のコマンドを使用します。