AppDynamics Operator Container Image

This page describes how to build a custom Splunk AppDynamics Operator container image or use the pre-built images and store it in an internal registry.

This procedure is necessary when you:

  • Require building custom Splunk AppDynamics Operator container image
  • Require using the pre-built Splunk AppDynamics Operator Image on DockerHub or RedHat Registry, and store it in the internal registry.

Otherwise, by default Splunk AppDynamics Operator pod can directly pull and use the latest pre-built Splunk AppDynamics Operator Container Images on the Splunk AppDynamics DockerHub repository or the RedHat registry.

Build the Custom Splunk AppDynamics Operator Image

The download packages from the Download Portal include files you need to build and deploy the Splunk AppDynamics Operator container image.

Depending on the base Image that was used to build the Splunk AppDynamics Operator image, there are two package types available on the portal:

  • Alpine Linux-based
  • Rhel Linux-based (recommended for Openshift cluster only)

The directory structure of the download packages for the Alpine and Rhel Linux are:

Alpine Linux AMD
cluster-agent
├── cluster-agent-operator.yaml
├── appdynamics-operator-alpine-linux-amd64-21.12.0-88
├── bin
├── appdynamics-operator
├── Dockerfile
├── LICENSE
└── scripts
├── ensure-user.sh
├── start-operator.sh
├── 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
└── helm-charts
├── Chart.yaml
├── README.md
├── crds
├── templates
└── values.yaml
Alpine Linux ARM
cluster-agent
├── cluster-agent-operator.yaml
├── appdynamics-operator-alpine-linux-arm64-21.12.0-88
├── bin
├── appdynamics-operator
├── Dockerfile
├── LICENSE
└── scripts
├── ensure-user.sh
├── start-operator.sh
├── 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
└── helm-charts
├── Chart.yaml
├── README.md
├── crds
├── templates
└── values.yaml
Rhel Linux ubi8
cluster-agent
├── cluster-agent-operator.yaml
├── appdynamics-operator-rhel-linux-amd64-21.12.0-88
├── bin
├── appdynamics-operator
├── Dockerfile-rhel
├── LICENSE
└── scripts
├── ensure-user.sh
├── start-operator.sh
├── 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
└── helm-charts
├── Chart.yaml
├── README.md
├── crds
├── templates
└── values.yaml

Build the Custom Splunk AppDynamics Operator Image

  1. Change the directory to the Operator directory:
    $ cd appdynamics-operator-alpine-linux-amd64-21.12.0-88/
  2. Build and tag a dockerFor example, to build and tag the image version 21.12.0 using the latest alpine version on Docker Hub registry for the account name johndoe:
    Alpine Linux
    $ docker build -t <registryname>/<accountname>/cluster-agent-operator:<Operator_Version> .
    Rhel Linux ubi8
    $ docker build -t <registryname>/<accountname>/cluster-agent-operator:<Operator_Version> -f Dockerfile-rhel .
    Alpine Linux
    $ docker build -t docker.io/johndoe/cluster-agent-operator:21.12.0 .
    Rhel Linux ubi8
    $ docker build -t docker.io/johndoe/cluster-agent-operator:21.12.0 -f Dockerfile-rhel .
  3. Push the image:For example, pushing the image version 21.12.0 to Docker Hub registry for the account name Johndoe :
    $ docker push <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker push docker.io/johndoe/cluster-agent-operator:21.12.0

Use Pre-Built Splunk AppDynamics Operator Image

You can also use pre-built Alpine-based or Rhel-based Splunk AppDynamics Operator images to an internal registry.

Alpine Operator Image

You can use the pre-built Alpine-based Splunk AppDynamics Operator image from the DockerHub account.

  1. Log in to your Docker Hub account:
    $ docker login docker.io -u <your-username> -p <your-password>
  2. Pull the image:For example, to pull the Alpine-based Splunk AppDynamics Operator image version 21.12.0:
    $ docker pull docker.io/appdynamics/cluster-agent-operator:<Operator_Version>
    $ docker pull docker.io/appdynamics/cluster-agent-operator:21.12.0
To push this image to the internal registry or accounts:
  1. Rename the image:For example:
    $ docker tag docker.io/appdynamics/cluster-agent-operator:<Operator_Version> <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker tag docker.io/appdynamics/cluster-agent-operator:21.12.0 docker.io/johndoe/cluster-agent-operator:21.12.0
  2. Push the image:For example, to push the image version 21.12.0 to the Docker Hub registry for the account name Johndoe:
    $ docker push <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker push docker.io/johndoe/cluster-agent-operator:21.12.0

    See RHELOperator Image

Rhel Operator Image

Alternatively, you can use the pre-built Rhel-based Splunk AppDynamics Operator Image from theRedhat Container Registryaccount.

Note: To use Redhat-based Splunk AppDynamics Operator, you may need to adjust your firewall settings as suggested by Redhat. Hence, you need to enable outbound connections to the following hostnames:cdn.quay.iocdn01.quay.iocdn02.quay.iocdn03.quay.io
  1. Log in to Red Hat Registry using your Customer Portal credentials:
    $ docker login registry.connect.redhat.com -u <your-username> -p <your-password>
  2. Pull the image:For example, to pull the Rhel-based Splunk AppDynamics Operator version 21.12.0:
    $ docker pull registry.connect.redhat.com/appdynamics/cluster-agent-operator:<Operator_Version>
    $ docker pull registry.connect.redhat.com/appdynamics/cluster-agent-operator:21.12.0

You can now use the Splunk AppDynamics Operator image.

To push this image to the internal registry, or to other accounts:

You can now use the Splunk AppDynamics Operator image.To push this image to the internal registry, or to other accounts:
  1. Rename the image:For example:
    $ docker tag registry.connect.redhat.com/appdynamics/cluster-agent-operator:<Operator_Version> <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker tag registry.connect.redhat.com/appdynamics/cluster-agent-operator:21.12.0 scan.connect.redhat.com/johndoe/cluster-agent-operator:21.12.0
  2. Push the image:For example, to push the image version 21.12.0 to Redhat Registry for account name johndoe
    $ docker push <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker push scan.connect.redhat.com/johndoe/cluster-agent-operator:21.12.0

Rhel Operator Image

Alternatively, you can use the pre-built Rhel-based Splunk AppDynamics Operator Image from theRedhat Container Registryaccount.

Note: To use Redhat-based Splunk AppDynamics Operator, you may need to adjust your firewall settings as suggested by Redhat. Hence, you need to enable outbound connections to the following hostnames:cdn.quay.iocdn01.quay.iocdn02.quay.iocdn03.quay.io
  1. Log in to Red Hat Registry using your Customer Portal credentials:
    $ docker login registry.connect.redhat.com -u <your-username> -p <your-password>
  2. Pull the image:For example, to pull the Rhel-based Splunk AppDynamics Operator version 21.12.0:
    $ docker pull registry.connect.redhat.com/appdynamics/cluster-agent-operator:<Operator_Version>
    $ docker pull registry.connect.redhat.com/appdynamics/cluster-agent-operator:21.12.0

You can now use the Splunk AppDynamics Operator image.

To push this image to the internal registry, or to other accounts:

You can now use the Splunk AppDynamics Operator image.To push this image to the internal registry, or to other accounts:
  1. Rename the image:For example:
    $ docker tag registry.connect.redhat.com/appdynamics/cluster-agent-operator:<Operator_Version> <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker tag registry.connect.redhat.com/appdynamics/cluster-agent-operator:21.12.0 scan.connect.redhat.com/johndoe/cluster-agent-operator:21.12.0
  2. Push the image:For example, to push the image version 21.12.0 to Redhat Registry for account name johndoe
    $ docker push <registryname>/<accountname>/cluster-agent-operator:<Operator_Version>
    $ docker push scan.connect.redhat.com/johndoe/cluster-agent-operator:21.12.0

Configure the Image in Splunk AppDynamics Operator YAML Specification

Make sure to reference the image in the cluster-agent-operator.yaml cluster-agent-operator- openshift.yaml spec:

apiVersion: cluster.appdynamics.com/v1alpha1
apiversion: apps/v1
kind: Deployment
metadata:
name: appdynamics-operator
namespace: appdynamics
spec:
replicas: 1
selector
matchLabels:
name: appdynamics-operator
template:
metadata:
labels:
name: appdynamics-operator
spec:
serviceAccountName: appdynamics-operator
containers:
- name: appdynamics-operator
image: <registryname>/<username>/cluster-agent-operator:<Operator_Version>
ports:
-containerPort: 60000
name: metrics
command:
-appdynamics-operator
imagePullPolicy: Always
resources:
limits:
cpu: 200m
memory: 128N1
requests:
cpu: 100m
memory: 64M1
env:
-name: WATCH NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata, namespace
-name: POD_NAME
valueFrom:
fieldRef:
fieldPath:-metadata.name
-name: OPERATOR_NAME
value: appoynamics-operator

For assistance, contact Support.