Phase 3: Kubernetes

4. スケーリングの仕組み

2 min

環境全体に共通するパターン

フェーズ0ではバイナリを実行しました。フェーズ2(Docker)ではコンテナを1つ追加しました。フェーズ3(K8s)では helm upgrade を1回実行しました。パターンは同じです

環境OBI のデプロイ変更内容
ベアホストsudo 経由のバイナリ変更なし:OBI はカーネルからプロセスを監視します
Docker Composeコンテナ1つdocker-compose.yaml にサービスを追加
KubernetesHelm chart フラグhelm upgrade--set="obi.enabled=true" を指定

Splunk OTel Collector Helm chart は、コレクターと OBI の両方を本番環境にデプロイするための方法です。さらなる自動化のために、OpenTelemetry Operator はアノテーションを使用して OBI をサイドカーとして自動的にインジェクトすることができます。

価値提案(まとめ)

多くの組織には、OpenTelemetry SDK で計装できない、またはしないアプリケーションがあります

OBI はコード変更なしで完全な分散トレーシングを提供します

環境によっては obi/eBPF 設定のカスタマイズが必要な場合があります

OpenShift などの場合、obi の設定に追加情報が必要になることがあります。 この例を提供してくれた Leandro de Oliveira e Ferreira に感謝します!

text
# obi-scc.yaml
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
  name: splunk-otel-obi-scc
allowPrivilegedContainer: true
allowHostPID: true
allowHostDirVolumePlugin: true
allowHostNetwork: true
allowHostPorts: true
allowPrivilegeEscalation: true
readOnlyRootFilesystem: false
runAsUser:
  type: RunAsAny
seLinuxContext:
  type: RunAsAny
fsGroup:
  type: RunAsAny
supplementalGroups:
  type: RunAsAny
volumes:
  - configMap
  - emptyDir
  - hostPath
  - secret
  - projected
allowedCapabilities:
  - BPF
  - PERFMON
  - SYS_PTRACE
  - DAC_READ_SEARCH
  - NET_ADMIN
  - NET_RAW
  - CHECKPOINT_RESTORE
  - SYS_ADMIN
users: []
Last Modified ·