2.2. CLI を使用した Red Hat build of OpenTelemetry のインストール
Red Hat build of OpenTelemetry はコマンドラインからインストールできます。
前提条件
cluster-admin
ロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc
) セッション。ヒント-
OpenShift CLI (
oc
) のバージョンが最新であり、OpenShift Container Platform バージョンと一致していることを確認してください。 oc login
を実行します。$ oc login --username=<your_username>
-
OpenShift CLI (
手順
Red Hat build of OpenTelemetry Operator をインストールします。
次のコマンドを実行して、Red Hat build of OpenTelemetry Operator のプロジェクトを作成します。
$ oc apply -f - << EOF apiVersion: project.openshift.io/v1 kind: Project metadata: labels: kubernetes.io/metadata.name: openshift-opentelemetry-operator openshift.io/cluster-monitoring: "true" name: openshift-opentelemetry-operator EOF
以下のコマンドを実行して、Operator グループを作成します。
$ oc apply -f - << EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-opentelemetry-operator namespace: openshift-opentelemetry-operator spec: upgradeStrategy: Default EOF
以下のコマンドを実行して、サブスクリプションを作成します。
$ oc apply -f - << EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: opentelemetry-product namespace: openshift-opentelemetry-operator spec: channel: stable installPlanApproval: Automatic name: opentelemetry-product source: redhat-operators sourceNamespace: openshift-marketplace EOF
次のコマンドを実行して、Operator のステータスを確認します。
$ oc get csv -n openshift-opentelemetry-operator
後続の手順で作成する OpenTelemetry Collector インスタンス用に選択したプロジェクトを作成します。
メタデータなしでプロジェクトを作成するには、次のコマンドを実行します。
$ oc new-project <project_of_opentelemetry_collector_instance>
メタデータを含むプロジェクトを作成するには、次のコマンドを実行します。
$ oc apply -f - << EOF apiVersion: project.openshift.io/v1 kind: Project metadata: name: <project_of_opentelemetry_collector_instance> EOF
OpenTelemetry Collector 用に作成したプロジェクトに OpenTelemetry Collector インスタンスを作成します。
注記同じクラスター上の別々のプロジェクトに複数の OpenTelemetry Collector インスタンスを作成できます。
OpenTelemetryCollector
カスタムリソース (CR) をカスタマイズします。OpenTelemetryCollector
CR の例apiVersion: opentelemetry.io/v1beta1 kind: OpenTelemetryCollector metadata: name: otel namespace: <project_of_opentelemetry_collector_instance> spec: mode: deployment config: receivers: 1 otlp: protocols: grpc: http: jaeger: protocols: grpc: {} thrift_binary: {} thrift_compact: {} thrift_http: {} zipkin: {} processors: 2 batch: {} memory_limiter: check_interval: 1s limit_percentage: 50 spike_limit_percentage: 30 exporters: 3 debug: {} service: pipelines: traces: receivers: [otlp,jaeger,zipkin] processors: [memory_limiter,batch] exporters: [debug]
次のコマンドを実行して、カスタマイズされた CR を適用します。
$ oc apply -f - << EOF <OpenTelemetryCollector_custom_resource> EOF
検証
次のコマンドを実行して、OpenTelemetry Collector Pod の
status.phase
がRunning
で、conditions
がtype: Ready
であることを確認します。$ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml
次のコマンドを実行して、OpenTelemetry Collector サービスを取得します。
$ oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>