このページでは、カスタム クラスタ エージェント コンテナ イメージを作成する方法、または公式にリリースされている事前作成されたイメージを使用して内部レジストリに保存する方法について説明します。

この手順は、次の場合に必須です。

  • カスタム クラスタ エージェント コンテナ イメージを作成する必要がある
  • DockerHub または RedHat Container Registry からの事前作成されたクラスタ エージェント イメージを使用して、内部レジストリに保存する必要がある

それ以外の場合は、cluster-agent.yaml または values.yaml Helm ファイルの AppDynamics DockerHub リポジトリまたは AppDynamics RedHat Registry にある事前作成されたクラスタ エージェント コンテナ イメージを直接プルして使用できます。

この例では、DockerHub にパブリッシュされた事前作成済みのクラスタ エージェント イメージ 21.12.0 を使用します。

apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
 name: k8s-cluster-agent
 namespace: appdynamics
spec:
 controllerUrl: "http://<account>.saas.appdynamics.com"
 account: "<account-name>"
 appName: "Cluster1"
 image: docker.io/appdynamics/cluster-agent:21.12.0
YML
deploymentMode: PRIMARY


installclusteragent: true
installInfraviz: false


# Docker images
imageInfo:
agentImage: docker.io/appdynamics/cluster-agent
agentTag: 21.12.0
operatorImage: docker.io/appdynamics/cluster-agent-operator
operatorTag:21.12.0
imagePullPolicy: Always
machineAgentImage: docker.io/appdynamics/machine-agent-analytics
machineAgentTag:21.9.0
machineAgentWinTag:21.9.0-win-ltsc2019
netVizImage: docker.io/appdynamics/machine-agent-netviz
YML

カスタム クラスタ エージェント イメージの作成

AppDynamics ダウンロードポータルのダウンロードパッケージには、クラスタエージェントのコンテナイメージを作成および展開する必要があるファイルが含まれています。 

クラスタエージェントのイメージを作成するために使用されるベースイメージに応じて、ポータルで使用できるパッケージには次の 2 つのタイプがあります。

  • Alpine Linux ベース
  • Rhel Linux ベース(OpenShift クラスタにのみ推奨)

Alpine および Rhel Linux のダウンロードパッケージのディレクトリ構造は次のとおりです。

cluster-agent 
├── cluster-agent-operator.yaml 
├── appdynamics-operator-alpine-linux-amd64-21.12.0-88
├── cluster-agent-operator-openshift-1.15-or-less.yaml
├── cluster-agent-operator-openshift.yaml 
├── cluster-agent.yaml 
├── infraviz.yaml
├── infraviz-pod-security-policy.yaml
├── infraviz-security-context-constraint-openshift.yaml
├── README-alpine.md 
└── docker 
    ├── cluster-agent.zip 
    ├── Dockerfile
    ├── LICENSE 
    └── start-appdynamics
└── helm-charts
	├── Chart.yaml
    ├── README.md
    ├── crds
    ├── templates
    └── values.yaml
TEXT
cluster-agent 
├── cluster-agent-operator.yaml 
├── appdynamics-operator-alpine-linux-arm64-21.12.0-88
├── cluster-agent-operator-openshift-1.15-or-less.yaml
├── cluster-agent-operator-openshift.yaml 
├── cluster-agent.yaml 
├── infraviz.yaml
├── infraviz-pod-security-policy.yaml
├── infraviz-security-context-constraint-openshift.yaml
├── README-alpine.md 
└── docker 
    ├── cluster-agent.zip 
    ├── Dockerfile
    ├── LICENSE 
    └── start-appdynamics
└── helm-charts
	├── Chart.yaml
    ├── README.md
    ├── crds
    ├── templates
    └── values.yaml
TEXT
cluster-agent 
├── cluster-agent-operator.yaml 
├── appdynamics-operator-rhel-linux-amd64-21.12.0-88
├── cluster-agent-operator-openshift-1.15-or-less.yaml
├── cluster-agent-operator-openshift.yaml 
├── cluster-agent.yaml 
├── infraviz.yaml
├── infraviz-pod-security-policy.yaml
├── infraviz-security-context-constraint-openshift.yaml
├── README-rhel.md 
└── docker 
    ├── cluster-agent.zip 
    ├── Dockerfile-rhel
    ├── LICENSE 
    └── start-appdynamics
└── helm-charts
	├── Chart.yaml
    ├── README.md
    ├── crds
    ├── templates
    └── values.yaml
TEXT

カスタム クラスタ エージェント イメージの作成

  1. ディレクトリを docker に変更します。

    $ cd docker
    CODE
  2. 次の構文を使用して docker イメージを構築し、タグを付けます。

    $ docker build -t <registryname>/<accountname>/cluster-agent:<Agent-version> --build-arg version=<alpine-version> .
    CODE
    $ docker build -t <registryname>/<accountname>/cluster-agent:<Agent-version> -f Dockerfile-rhel .
    CODE

    特定の Alpine イメージバージョンを使用する場合は、--build-arg version=<alpine-version> を使用してバージョンを指定できます。

    イメージバージョンを指定しない場合、build コマンドは最新の Alpine イメージバージョンを自動的に取得します。


    たとえば、アカウント名 johndoe: の Docker Hub レジストリで、最新の Alpine バージョンを使用してイメージバージョン 21.12.0 を作成し、タグ付けするには、次のようにします。

    $ docker build -t docker.io/johndoe/cluster-agent:21.12.0 .
    CODE
    $ docker build -t docker.io/johndoe/cluster-agent:21.12.0 -f Dockerfile-rhel .
    CODE
  3. ビルドが成功したら、このイメージがローカル Docker リポジトリに表示されていることを確認します。

  4. 次のようにしてイメージをプッシュします。

    $ docker push <registryname>/<accountname>/cluster-agent:<Agent-version>
    BASH

    たとえば、アカウント名 Johndoe の Docker Hub レジストリにイメージバージョン 21.12.0 をプッシュします:

    $ docker push docker.io/johndoe/cluster-agent:21.12.0
    BASH

事前構築済みのクラスタ エージェント イメージの使用

また、事前構築済みの Alpine ベースのクラスタエージェントまたは Rhel ベースのクラスタエージェントを内部レジストリに使用することもできます。

Alpine クラスタ エージェント イメージ

AppDynamics Docker Hub アカウントから事前構築された Alpine ベースのクラスタ エージェント イメージを使用できます。

  1. Docker Hub アカウントにログインします。

    $ docker login docker.io -u <your-username> -p <your-password>
    CODE
  2. 次のようにして、イメージをプルします。

    $ docker pull docker.io/appdynamics/cluster-agent:<Agent-version>
    CODE

    たとえば、Alpine ベースのクラスタ エージェント イメージ バージョン 21.12.0 をプルするには、次の手順を実行します。

    $ docker pull docker.io/appdynamics/cluster-agent:21.12.0
    CODE

このイメージを内部レジストリまたはアカウントにプッシュするには、次の手順を実行します。

  1. イメージの名前を変更します。

    $ docker tag docker.io/appdynamics/cluster-agent:<Agent-version> <registryname>/<accountname>/cluster-agent:<Agent-version>
    CODE

    次に例を示します。

    $ docker tag docker.io/appdynamics/cluster-agent:21.12.0 docker.io/johndoe/cluster-agent:21.12.0
    CODE
  2. 次のようにしてイメージをプッシュします。

    $ docker push <registryname>/<accountname>/cluster-agent:<Agent-version>
    CODE

    たとえば、アカウント名 Johndoe の Docker Hub レジストリにイメージバージョン 21.12.0 をプッシュするには、次のようにします。

    $ docker push docker.io/johndoe/cluster-agent:21.12.0
    CODE

Rhel クラスタ エージェント イメージ

または、AppDynamics Redhat Container Registry アカウントから事前構築された Rhel ベースのクラスタ エージェント イメージを使用することもできます。

Redhat ベースのクラスタエージェントを使用するために、Redhat の推奨に従ってファイアウォール設定を調整する必要がある場合があります。そのため、次のホスト名へのアウトバウンド接続を有効にする必要があります。

  • cdn.quay.io
  • cdn01.quay.io
  • cdn02.quay.io
  • cdn03.quay.io


  1. カスタマーポータルのログイン情報を使用して Red Hat Registry にログインします。

    $ docker login registry.connect.redhat.com -u <your-username> -p <your-password>
    CODE
  2. 次のようにして、イメージをプルします。

    $ docker pull registry.connect.redhat.com/appdynamics/cluster-agent:<Agent-version>
    CODE

    たとえば、Rhel ベースのクラスタ エージェント バージョン 21.12.0 をプルするには、次の手順を実行します。

    $ docker pull registry.connect.redhat.com/appdynamics/cluster-agent:21.12.0
    CODE

これでクラスタ エージェント イメージを使用できます。

このイメージを内部レジストリまたは別のアカウントにプッシュするには、次の手順を実行します。

  1. イメージの名前を変更します。

    $ docker tag registry.connect.redhat.com/appdynamics/cluster-agent:<Agent-version> <registryname>/<accountname>/cluster-agent:<Agent-version>
    CODE

    次に例を示します。

    $ docker tag registry.connect.redhat.com/appdynamics/cluster-agent:21.12.0 scan.connect.redhat.com/johndoe/cluster-agent:21.12.0
    CODE
  2. 次のようにしてイメージをプッシュします。

    $ docker push <registryname>/<accountname>/cluster-agent:<Agent-version>
    CODE

    たとえば、アカウント名 johndoe の Redhat Registry にイメージバージョン 21.12.0 をプッシュするには、次の手順を実行します。

    $ docker push scan.connect.redhat.com/johndoe/cluster-agent:21.12.0
    CODE

クラスタエージェントの YAML 仕様でのイメージの設定

cluster-agent.yaml でイメージを参照してください。spec:

apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
  name: k8s-cluster-agent
  namespace: appdynamics
spec:
  controllerUrl: "http://<account>.saas.appdynamics.com"
  account: "<account-name>"
  appName: "Cluster1"
  image: <registryname>/<username>/cluster-agent:<Agent-version>
CODE

詳細については、AppDynamics サポートにお問い合わせください。