エージェントをインストールする Docker

Docker に Instana エージェントをインストールして設定するには、 Instana エージェントのコンテナイメージを取得して実行し、その後、 Instana ホストエージェントを特権コンテナとしてインストールして実行します。

Instana エージェントのコンテナイメージを取得する

Instana のエージェントイメージは、パブリックリポジトリの IBM Cloud Container Registry にあります icr.io/instana/agent:latest

さらに、 Instana ( Container Registry ) containers.instana.ioから、動的および静的なエージェント画像を取得することもできます。

最新の Instana エージェントイメージを取得するには、以下の手順を実行してください:

  1. エージェントキーでログインしてください
    docker login containers.instana.io -u _ -p <agent_key>
     
  2. 次のリストから適切なコマンドを使用して、必要な画像を呼び出します
# pull the dynamic image, powered by the Azul JDK
docker pull containers.instana.io/instana/release/agent/dynamic:latest

# download the static image, powered by the Azul JDK
docker pull containers.instana.io/instana/release/agent/static:latest

# pull the dynamic image, powered by the OpenJ9 JDK
docker pull containers.instana.io/instana/release/agent/dynamic:latest-j9

# download the static image, powered by the OpenJ9 JDK
docker pull containers.instana.io/instana/release/agent/static:latest-j9
 

利用可能なタグの一覧

利用可能なイメージタグの一覧を表示するには、 icr.io のパブリックタグリストに問い合わせてください。 画像タグは、 icr.io パブリックレジストリおよび Instanacontainers.instana.io レジストリで使用できます。

コマンドラインツール Curl を使用してクエリを実行し、jq を使用して出力をフィルタリングする必要があります。 利用可能なタグをすべて表示するには、次のコマンドを入力します

curl https://icr.io/v2/instana/agent/tags/list | jq
 

Instana のバックエンドバージョンでタグをフィルタリングするには、次のコマンドを入力してください。 次の例で、 <backend_version> の代わりに Instana バージョンを入力してください:

INSTANA_VERSION=<backend_version> && curl https://icr.io/v2/instana/agent/tags/list | jq '.tags[] | select(. | contains ("'"$INSTANA_VERSION"'"))'
 

Instana エージェントのコンテナイメージを実行する

Docker Kubernetes ベースの多くのサービスや、 DC/OS など、複数のプラットフォームに対応しています。 Instana エージェントの Docker イメージを実行する方法は、プラットフォームによって異なります。

Instana ホストエージェントをインストールできるコンテナ化された環境の一覧は、以下をご覧ください:

また、 Linux ホストにエージェントを直接インストールすることも可能です(たとえば、ワーカーマシン用に特定のイメージを用意している場合など)。

Instana エージェントのコンテナイメージのアップグレード

エージェントコンテナイメージを手動で更新するには、次のコマンドを実行します

skopeo inspect docker://icr.io/instana/agent:latest-<your-architecture>-dynamic | jq '.Digest'
 

<your-architecture> を、お客様のアーキテクチャに応じて、 amd64arm64s390x 、または ppc64le に置き換えてください。

OpenJ9 バリアントを実行している場合は、以下のコマンドを実行します。

skopeo inspect docker://icr.io/instana/agent:latest-<your-architecture>-dynamic-j9 | jq '.Digest'
 

現在インストールされている Instana エージェントの docker イメージを確認するには、 Kubernetes > My Cluster > Namespaces > instana-agent に移動し、エージェントポッドを1つ選択してください。 instana-agent コンテナを選択し、 Docker のダッシュボードでイメージのSHAを比較してください。

Helm を使用している場合は、最新の Helm チャートにアップグレードするには、次のコマンドを実行してください

helm pull --repo https://agents.instana.io/helm --untar instana-agent && kubectl apply -f instana-agent/crds && helm upgrade --repo https://agents.instana.io/helm instana-agent --reuse-values --set agent.image.tag=latest --set agent.image.pullPolicy=Always instana-agent
 

Instana Helm のチャートは、内部で instana-agent-operator をデプロイし、それがエージェントリソースをデプロイします。 このデプロイは、 Helm の値に基づいて作成されるエージェントのカスタムリソース(CR)に基づいています。 オペレータパターンでは、カスタムリソースを定義する前に、クラスタ内でカスタムリソース定義(CRD)が必要です。 したがって、 Helm のチャートには、必要なCRDが含まれており、これは他のアーティファクトを送信する前に、初期インストール時にデプロイされます。

注: 現在、 Helm ではCRDの初期インストールのみに対応しており、アップグレード、削除、およびアンインストールには対応していません。 この制限により、CRDの更新は、初期インストール時のみ自動的にクラスタに送信され、アップグレード時には送信されません。 この制限に関する詳細については、 「カスタムリソース定義」 を参照してください。

Kubernetes ( YAML )をご利用の場合は、ネームスペースを削除し、エージェントを再インストールしてください:

kubectl apply -f <your-instana-agent-daemonset.yaml>
 

エージェントのインストール

  1. Instana UIのホームページで、 「エージェントとコレクター」 をクリックします。 [ Instana ] の [エージェント] タブで、 [エージェントのインストール] を選択します。

  2. タイルをクリック Docker

  3. (オプション) ホストエージェントをカスタムエージェントゾーンの一部にしたい場合は、エージェントゾーンの名前を入力します。 Agent zone フィールドに名前を入力すると、 --env="INSTANA_AGENT_ZONE=<agent_zone>" \ という行がエージェント展開コードに追加されます。

  4. エージェントのデプロイコードをコピーし、それを使用して、 Instana エージェントを特権コンテナとして実行します:

    Instana のUIでは、エージェントのデプロイメントコードが次のように提供されます:

    sudo docker run \
      --detach \
      --name instana-agent \
      --volume /var/run:/var/run \
      --volume /run:/run \
      --volume /dev:/dev:ro \
      --volume /sys:/sys:ro \
      --volume /var/log:/var/log:ro \
      --privileged \
      --net=host \
      --pid=host \
      --env="INSTANA_AGENT_ENDPOINT=<the_host_agent_endpoint>" \
      --env="INSTANA_AGENT_ENDPOINT_PORT=<the_host_agent_endpoint_port>" \
      --env="INSTANA_AGENT_KEY=<your_instana_agent_key>" \
      --env="INSTANA_AGENT_DOWNLOAD_KEY=<your_instana_agent_download_key>" \
      icr.io/instana/agent
     

エージェントキーダウンロードキーおよびホストエージェントのエンドポイントは、 エージェントのデプロイメントコードに事前に入力されています。

ホストエージェントが実行されている場合、次のコマンドを使用してエージェントログを生成します

docker logs instana-agent