|
| 1 | +--- |
| 2 | +title: Docker デプロイ |
| 3 | +linkTitle: Docker |
| 4 | +aliases: [docker_deployment] |
| 5 | +cSpell:ignore: otelcollector otlphttp spanmetrics tracetest tracetesting |
| 6 | +default_lang_commit: 7cb1bd39726fc03698164ee17fe9087afdac054c |
| 7 | +--- |
| 8 | + |
| 9 | +<!-- markdownlint-disable code-block-style ol-prefix --> |
| 10 | + |
| 11 | +## 前提条件 |
| 12 | + |
| 13 | +- Docker |
| 14 | +- [Docker Compose](https://docs.docker.com/compose/install/#install-compose) |
| 15 | + v2.0.0+ |
| 16 | +- Make (オプション) |
| 17 | +- アプリケーション用に 6 GB の RAM |
| 18 | + |
| 19 | +## デモの取得と実行 |
| 20 | + |
| 21 | +1. デモリポジトリをクローン: |
| 22 | + |
| 23 | + ```shell |
| 24 | + git clone https://github.com/open-telemetry/opentelemetry-demo.git |
| 25 | + ``` |
| 26 | + |
| 27 | +2. デモフォルダに移動: |
| 28 | + |
| 29 | + ```shell |
| 30 | + cd opentelemetry-demo/ |
| 31 | + ``` |
| 32 | + |
| 33 | +3. デモを起動[^1]: |
| 34 | + |
| 35 | + {{< tabpane text=true >}} {{% tab Make %}} |
| 36 | + |
| 37 | +```shell |
| 38 | +make start |
| 39 | +``` |
| 40 | + |
| 41 | + {{% /tab %}} {{% tab Docker %}} |
| 42 | + |
| 43 | +```shell |
| 44 | +docker compose up --force-recreate --remove-orphans --detach |
| 45 | +``` |
| 46 | + |
| 47 | + {{% /tab %}} {{< /tabpane >}} |
| 48 | + |
| 49 | +4. (オプション) API オブザーバビリティ駆動テストの有効化[^1]: |
| 50 | + |
| 51 | + {{< tabpane text=true >}} {{% tab Make %}} |
| 52 | + |
| 53 | +```shell |
| 54 | +make run-tracetesting |
| 55 | +``` |
| 56 | + |
| 57 | + {{% /tab %}} {{% tab Docker %}} |
| 58 | + |
| 59 | +```shell |
| 60 | +docker compose -f docker-compose-tests.yml run traceBasedTests |
| 61 | +``` |
| 62 | + |
| 63 | + {{% /tab %}} {{< /tabpane >}} |
| 64 | + |
| 65 | +## ウェブストアとテレメトリーの確認 |
| 66 | + |
| 67 | +イメージがビルドされ、コンテナが開始されるとアクセスできるようになります: |
| 68 | + |
| 69 | +- Web store: <http://localhost:8080/> |
| 70 | +- Grafana: <http://localhost:8080/grafana/> |
| 71 | +- Load Generator UI: <http://localhost:8080/loadgen/> |
| 72 | +- Jaeger UI: <http://localhost:8080/jaeger/ui/> |
| 73 | +- Tracetest UI: <http://localhost:11633/>、`make run-tracetesting` の使用時のみ |
| 74 | +- Flagd configurator UI: <http://localhost:8080/feature> |
| 75 | + |
| 76 | +## デモのプライマリーポート番号の変更 |
| 77 | + |
| 78 | +デフォルトでは、デモアプリケーションは 8080 ポートにバウンドされたすべてのブラウザのトラフィックに対してプロキシを開始します。 |
| 79 | +ポート番号を変更するには、デモを開始する前に環境変数 `ENVOY_PORT` を設定してください。 |
| 80 | + |
| 81 | +- 例、8081 ポートを利用する場合[^1]: |
| 82 | + |
| 83 | + {{< tabpane text=true >}} {{% tab Make %}} |
| 84 | + |
| 85 | +```shell |
| 86 | +ENVOY_PORT=8081 make start |
| 87 | +``` |
| 88 | + |
| 89 | + {{% /tab %}} {{% tab Docker %}} |
| 90 | + |
| 91 | +```shell |
| 92 | +ENVOY_PORT=8081 docker compose up --force-recreate --remove-orphans --detach |
| 93 | +``` |
| 94 | + |
| 95 | + {{% /tab %}} {{< /tabpane >}} |
| 96 | + |
| 97 | +## 独自のバックエンドを導入する |
| 98 | + |
| 99 | +おそらく、あなたがすでに所持しているオブザーバビリティバックエンド(たとえば、Jaeger、Zipkin、または[選択したベンダー](/ecosystem/vendors/)のいずれかの既存インスタンス)のデモアプリケーションとしてウェブストアを利用したいでしょう。 |
| 100 | + |
| 101 | +OpenTelemetry コレクターはテレメトリーデータを複数のバックエンドに送信するのに利用可能です。 |
| 102 | +デフォルトで、デモアプリケーションのコレクターは 2 つのファイルから設定をマージします: |
| 103 | + |
| 104 | +- `otelcol-config.yml` |
| 105 | +- `otelcol-config-extras.yml` |
| 106 | + |
| 107 | +あなたのバックエンドに追加するために、エディターで[src/otelcollector/otelcol-config-extras.yml](https://github.com/open-telemetry/opentelemetry-demo/blob/main/src/otelcollector/otelcol-config-extras.yml)ファイルを開いてください。 |
| 108 | + |
| 109 | +- 新しいエクスポーターを追加することで始めます。例えば、もしあなたのバックエンドが OTLP over HTTP をサポートしているのであれば、以下を追加してください: |
| 110 | + |
| 111 | + ```yaml |
| 112 | + exporters: |
| 113 | + otlphttp/example: |
| 114 | + endpoint: <your-endpoint-url> |
| 115 | + ``` |
| 116 | +
|
| 117 | +- そして、`exporters` をあなたのバックエンドに使いたいテレメトリーパイプラインに上書きしてください。 |
| 118 | + |
| 119 | + ```yaml |
| 120 | + service: |
| 121 | + pipelines: |
| 122 | + traces: |
| 123 | + exporters: [spanmetrics, otlphttp/example] |
| 124 | + ``` |
| 125 | + |
| 126 | +{{% alert title="Note" color="info" %}} |
| 127 | +YAML の値をコレクターとマージすると、オブジェクトはマージされて、配列は置き換えられます。 |
| 128 | +`spanmetrics` エクスポーターを上書きする場合は、`traces` パイプラインのエクスポーターの配列に含める必要があります。 |
| 129 | +このエクスポーターを含めないとエラーが発生します。 |
| 130 | +{{% /alert %}} |
| 131 | + |
| 132 | +ベンダーのバックエンドは認証のために追加のパラメーターを必要とするかもしれません。ドキュメントを確認してください。 |
| 133 | +一部のバックエンドは異なるエクスポーターが必要です。それらのエクスポーターとドキュメントについて[opentelemetry-collector-contrib/exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter) で入手できます。 |
| 134 | + |
| 135 | +`otelcol-config-extras.yml` を更新した後に、`make start` を実行してデモを開始してください。 |
| 136 | +しばらくして、あなたのバックエンドにトレースが流れるのも確認できるはずです。 |
| 137 | + |
| 138 | +[^1]: {{% param notes.docker-compose-v2 %}} |
0 commit comments