Phase 3: Kubernetes
2. ベースラインのデプロイ
ワークショップアプリケーションのデプロイ #
アプリケーションは専用の namespace にデプロイされます:
bash
cd ~/workshop/obi/03-obi-k8s
kubectl apply -f namespace.yaml
kubectl apply -f apps.yaml
kubectl apply -f load-generator.yamltext
namespace/obi-workshop created
deployment.apps/frontend created
service/frontend created
deployment.apps/order-processor created
service/order-processor created
deployment.apps/payment-service created
service/payment-service created
deployment.apps/load-generator createdSplunk OTel Collector のインストール #
Splunk OTel Collector Helm chart は、Kubernetes に Collector をデプロイするための本番環境向けの方法です。Collector のデプロイ、サービス、および設定を自動的に処理します。
Helm リポジトリの追加 #
bash
helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
helm repo updatetext
"splunk-otel-collector-chart" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "splunk-otel-collector-chart" chart repository
Update Complete. ⎈Happy Helming!⎈Collector のインストール #
これにより、OBI なしで Splunk OTel Collector がインストールされます。次のステップで OBI を有効にして、有効化前後の違いを確認します。
Note
環境変数ACCESS_TOKEN、REALM、INSTANCE はワークショップインスタンスに事前設定されています。env を実行して存在を確認してください。bash
helm -n obi-workshop install splunk-otel-collector \
splunk-otel-collector-chart/splunk-otel-collector \
--set="splunkObservability.realm=${REALM}" \
--set="splunkObservability.accessToken=${ACCESS_TOKEN}" \
--set="clusterName=${INSTANCE}-k8s" \
--set="environment=${INSTANCE}-ebpf"text
NAME: splunk-otel-collector
LAST DEPLOYED: Thu Feb 27 22:30:15 2026
NAMESPACE: default
STATUS: deployed
REVISION: 1すべてが実行中であることを確認 #
bash
kubectl get pods -n obi-workshoptext
NAME READY STATUS RESTARTS AGE
frontend-7d8b9f4c5-x2k4n 1/1 Running 0 30s
load-generator-5c6d7e8f9-m3j2k 1/1 Running 0 28s
order-processor-8e9f0a1b2-p4q5r 1/1 Running 0 30s
payment-service-9f0a1b2c3-s6t7u 1/1 Running 0 30s
NAME READY STATUS RESTARTS AGE
splunk-otel-collector-agent-abc12 1/1 Running 0 45s
splunk-otel-collector-cluster-receiver-xyz34 1/1 Running 0 45sアプリケーションのテスト #
NodePort 経由でフロントエンドにアクセスします:
bash
kubectl port-forward -n obi-workshop svc/frontend 30000:3000 &; sleep 5ポートフォワーディングが完了したら、curl でページにアクセスできます:
bash
curl -s http://localhost:30000/create-order | python3 -m json.toolAPM が空であることを確認 #
Exercise
Splunk APM で環境<INSTANCE>-ebpf でフィルタリングして確認してください。Collector からのインフラストラクチャメトリクスは表示されますが、新しいアプリケーショントレースはまだ表示されません。サービスは実行中ですが、まだ計装されていません。
