|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
|
これは未公開の文書です Admission Controller 1.34-dev. |
OpenTelemetry クイックスタート
OpenTelemetryは、Cloud Native Computing Foundation (CNCF)の監視のためのフレームワークです。マイクロサービスがメトリクス、ログ、およびトレースを提供できるようにします。
SUSE Security Admission Controllerのコンポーネントは、OpenTelemetry SDKを使用して、データをOpenTelemetryコレクター(エージェントと呼ばれる)に報告します。
このガイドでは、公式Kubernetes Helmチャートを使用して、`sidecar`モードでOpenTelemetryコレクターをデプロイする方法を説明します。
これはOpenTelemetryを使用したシンプルなデプロイメントパターンです。最終的なセットアップは次のようになります:
-
Admission Controllerスタック(ポリシーサーバー、コントローラー)の各PodにはOpenTelemetryサイドカーがあります。
-
サイドカーは、OpenTelemetryプロトコル(OTLP)を介してAdmission Controllerコンポーネントからトレースおよび監視情報を受信します。
-
OpenTelemetryコレクター:
-
トレースイベントを中央のJaegerインスタンスに送信します。
-
特定のポートでPrometheusメトリクスを公開します。
-
Admission Controller Helmチャートは、OpenTelemetryコレクターのすべての可能なデプロイメントシナリオをカバーしていません。Admission Controllerを構成して、OpenTelemetryコレクターにデータを送信することも可能です。そのシナリオに関するドキュメントは、カスタム OpenTelemetryガイドにあります。
最初にKubernetesクラスターにOpenTelemetryをデプロイし、次のセクションでトレースとメトリクスに特に対処できるようにします。
Kubernetesクラスターのセットアップ
|
このセクションには、テレメトリのクイックスタート用のKubernetesクラスターを作成するための手順が記載されています。 すでにKubernetesクラスターが利用可能な場合は、このセクションをスキップしても構いません。 |
minikubeを使用してテスト用のKubernetesクラスターを作成できます。
Minikubeには多くのバックエンドがありますが、この場合はlibvirtに依存するhttps://minikube.sigs.k8s.io/docs/drivers/kvm2/[kvm2]ドライバーを使用できます。
`libvirtd`が正しくマシン上で実行されていると仮定して、次のコマンドを発行します:
minikube start --driver=kvm2
コマンドは、次のような出力を生成します。
$ minikube start --driver=kvm2
😄 minikube v1.23.2 on Opensuse-Leap 15.3
✨ Using the kvm2 driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🔥 Creating kvm2 VM (CPUs=2, Memory=6000MB, Disk=20000MB) ...
🐳 Preparing Kubernetes v1.22.2 on Docker 20.10.8 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
クラスターが準備完了になったら、ガイドの残りの部分を続けることができます。
Traefikをインストールする
次のテレメトリガイドでは、Kubernetes `Ingress`リソースを使用してJaeger UIを公開する際に、https://traefik.io/traefik/[Traefik]をIngressコントローラーとして使用します。
Helmチャートを使用してTraefikをインストールします。
helm repo add traefik https://traefik.github.io/charts
helm repo update
helm install --wait \
--namespace traefik \
--create-namespace \
traefik traefik/traefik
次のガイドでは、`Ingress`を使用して標準のKubernetesを作成し、`ingressClassName: traefik`を使用してJaeger Query UIをTraefikサービス経由でルーティングします。
Traefikをインストールしたくない場合、トレースガイドではJaegerに直接アクセスするためのフォールバックとして`kubectl port-forward`を保持します。
OpenTelemetryをインストールする
|
最新のサポートされているコンポーネントバージョンについては、依存関係マトリックスを参照してください。 |
OpenTelemetry Collectorサイドカーの自動注入をPolicyServerポッドに管理するために、https://github.com/open-telemetry/opentelemetry-operator[OpenTelemetry Operator]を使用します。
OpenTelemetry Operatorは、クラスター内にhttps://cert-manager.io/docs/installation/[cert-manager]のインストールを必要とします。
helm repo add jetstack https://charts.jetstack.io
helm install --wait \
--namespace cert-manager \
--create-namespace \
--set crds.enabled=true \
--version 1.18.2 \
cert-manager jetstack/cert-manager
cert-managerが実行されていると、OpenTelemetryオペレーターHelmチャートをインストールできます。
|
執筆時点(2024年11月11日)で、最新のOpenTelemetryオペレーターのチャートバージョンは`0.65.0`です。 |
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm install --wait \
--namespace open-telemetry \
--create-namespace \
--version 0.97.1 \
--set "manager.collectorImage.repository=otel/opentelemetry-collector-contrib" \
my-opentelemetry-operator open-telemetry/opentelemetry-operator