Helmを使用してCollector for Kubernetesをインストールする
OpenTelemetry Collector for Kubernetes の Splunk ディストリビューションのインストール方法について説明します。
Splunk Distribution of OpenTelemetry Collector for Kubernetesは、Helmチャートを使用してインストールし、Kubernetesアプリケーションを定義、インストール、アップグレードできます。
ヘルムチャートを使って次のことを行います:
-
Kubernetesクラスターの他のKubernetesオブジェクトと一緒にKubernetes DaemonSetを作成します。
-
Splunk Enterprise、Splunk Cloud Platform、Splunk Observability Cloud のメトリクス、トレース、ログデータの受信、処理、エクスポート。
Collector for Kubernetes Helmチャートの詳細については、次を参照してください:
対応Kubernetesディストリビューション
Helm チャートは主要な Kubernetes ディストリビューションのデフォルト設定で動作します。アクティブにサポートされているバージョンを使用してください。
- Minikube。このディストリビューションはローカル開発者向けに作成されたもので、運用環境での使用は想定していません。
Minikubeは、過去のさまざまなバージョンのKubernetesをスピンアップするために作られました。
Minikube のバージョンは、Kubernetes バージョンと一致するとは限りません。たとえば、「Minikube v1.27.1 リリースノート」では、デフォルトの Kubernetes バージョンは v1.25.2 にバンプされたと記載されています。
このチャートは他の Kubernetes ディストリビューションでも動作するはずですが、デフォルトの values.yaml 設定ファイルには追加の更新が必要になる可能性があります。
前提条件
チャートを使用するには、以下のリソースが必要です:
-
Helm 3 。Helm 2 はサポートされていません。Helm と Kubernetes の間でサポートされるバージョンのずれの詳細については、「Helm Version Support Policy」を参照してください。
-
Kubernetesクラスターへの管理者アクセス。
前提条件:デスティネーション
Collector for Kubernetes には、デスティネーションが必要です:Splunk Enterprise または Splunk Cloud Platform ( splunkPlatform ) または Splunk Observability Cloud ( splunkObservability ) です。
宛先によっては次が必要です:
-
splunkPlatformにデータを送信するには:-
Splunk Enterprise 8.0 以上。
-
ログデータを収集する準備が整った、Splunk プラットフォームインデックスが最低 1 つ必要です。このインデックスは、ログの取り込みに使用されます。
-
HTTP Event Collector(HEC)トークンとエンドポイント。「Splunk Web 上での HTTP Event Collector のセットアップと使用」および「HTTP Event Collector のスケール」を参照してください。
-
splunkPlatform.endpointします。Splunk インスタンスへの URL、たとえば"http://localhost:8088/services/collector"。 -
splunkPlatform.tokenします。Splunk HTTP Event Collector トークン。
-
-
splunkObservabilityにデータを送信するには:-
splunkObservability.accessTokenします。インジェスト認証スコープを持つ Splunk Observability Cloud 組織のアクセストークン。「Splunk Observability Cloud を使用した組織のアクセストークンの作成および管理」を参照してください。 -
splunkObservability.realmします。テレメトリデータを送信する Splunk レルム。デフォルトはus0です。「レルム」を参照してください。
-
main をデフォルトの Splunk プラットフォームインデックスとして使用します。注釈を使用して、さまざまなインデックスにデータを送信できます。詳細については、「Send logs to different indexes」を参照してください。ヘルムチャートのデプロイ
以下のコマンドを実行して、Helmチャートをデプロイします:
-
Helmレポを追加します:
helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart -
デスティネーションを決めます。
Splunk Observability Cloudの場合:
helm install my-splunk-otel-collector --set="splunkObservability.realm=us0,splunkObservability.accessToken=xxxxxx,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collectorSplunk Enterprise または Splunk Cloud Platform の場合:
helm install my-splunk-otel-collector --set="splunkPlatform.endpoint=https://127.0.0.1:8088/services/collector,splunkPlatform.token=xxxxxx,splunkPlatform.metricsIndex=k8s-metrics,splunkPlatform.index=main,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collectorSplunk Observability Cloud と Splunk Enterprise または Splunk Cloud Platform の両方が対象です:
helm install my-splunk-otel-collector --set="splunkPlatform.endpoint=https://127.0.0.1:8088/services/collector,splunkPlatform.token=xxxxxx,splunkPlatform.metricsIndex=k8s-metrics,splunkPlatform.index=main,splunkObservability.realm=us0,splunkObservability.accessToken=xxxxxx,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collector -
チャートをデプロイする名前空間を
-n引数で指定します:helm -n otel install my-splunk-otel-collector -f values.yaml splunk-otel-collector-chart/splunk-otel-collector
その他のパラメータの設定
以下の設定が可能です:
例:
helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
helm install my-splunk-otel-collector --set="splunkRealm=us0,splunkAccessToken=xxxxxx,clusterName=my-cluster" --set=distribution={value},cloudProvider={value} splunk-otel-collector-chart/splunk-otel-collector
-
詳細については、「 Configure the Collector for Kubernetes with Helm」および「advanced Kubernetes config」を参照してください。
-
その他のチャートのインストール例や、デフォルトの動作を変更するためのアップグレードコマンドについては、「Helm チャートの設定例」を参照してください。
-
WindowsワーカーノードでKubernetesクラスターを適用するには、
isWindowsをtrueに設定します。 -
ログの詳細については、「Collect logs and events with the Collector for Kubernetes」を参照してください。
YAMLファイルを使ってHelmを設定する
YAML ファイルを使用して、引数として Helm 値を設定することもできます。たとえば、my_values.yaml という名前の YAML ファイルを作成した後で、次のコマンドを実行して Helm チャートをデプロイします。
helm install my-splunk-otel-collector --values my_values.yaml splunk-otel-collector-chart/splunk-otel-collector
GitHub の YAML ファイルの例を参照してください。
Prometheus・メトリクスの設定
このプロパティを Helm チャートの値の YAML に追加することで、Prometheus を発するすべてのポッドを自動的にスクレイピングするように Collector を設定します。
autodetect:
prometheus: true
デプロイメント内のすべてのポッドのリソースファイルにこの設定を追加します:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/path: /metrics
prometheus.io/port: "8080"
デプロイを確認する
チャートが正常にデプロイされると、Splunk Distribution of OpenTelemetry Collector for KubernetesがKubernetesクラスターにデプロイされていることを知らせるメッセージ、最終デプロイ日、ステータスが出力されます。
OpenTelemetryでKubernetes Operatorを使用する
Splunk Helm チャートを使用すると、ゼロコードインストルメンテーション用のアップストリーム OpenTelemetry Kubernetes Operator と一緒に Splunk Collector をインストールできます。詳細については、「Automatic discovery for Kubernetes」を参照してください。
この Kubernetes Operator のインスタンスは、アップストリームの OpenTelemetry Operator プロジェクトの一部です。詳細については、GitHub の「OpenTelemetry Collector ドキュメント」を参照してください。
次のステップ
パッケージをインストールしたら、次のことができます: