This page describes how to install the Cluster Agent using the Kubernetes CLI which is an alternative to Install the Cluster Agent with Helm Charts.

Requirements

Before you begin, verify that you have:

Installation Procedure

  1. If you have not already installed the metrics-server, then install it. See https://github.com/kubernetes-sigs/metrics-server for the most recent installation instructions.

    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
    CODE
  2. Download the Kubernetes or OpenShift Cluster Agent bundle from the Download portal, unzip the contents of the bundle to the current directory:

    unzip appdynamics-cluster-agent-alpine-linux-<version>.zip
    CODE
  3. Create a namespace for appdynamics in your cluster:

    kubectl create namespace appdynamics
    CODE
  4. Install the Cluster Agent Operator using the correct Kubernetes and OpenShift version (where applicable):

    kubectl create -f cluster-agent-operator.yaml
    CODE
    kubectl create -f cluster-agent-operator-openshift.yaml
    CODE
    kubectl create -f cluster-agent-operator-openshift-1.15-or-less.yaml
    CODE

     

    You can also install Cluster Agent Operator from OpenShift OperatorHub in your OpenShift cluster.

  5. Based on the Account Access Key for the Controller, create the Controller Access Key Secret that the Cluster Agent reports to:

    kubectl -n appdynamics create secret generic cluster-agent-secret --from-literal=controller-key=<access-key>
    CODE
  6. Edit cluster-agent.yaml to set the Controller details for the Cluster Agent to report to.
    a. Set the nsToMonitor(deprecated) or nsToMonitorRegex options to include the namespaces you want to monitor.
    b. Set the image tag to the version you are installing
    . Refer to Docker Hub for the latest version of the image tag.
    For additional configuration tasks, such as configuring SSL for on-premises Controllers, proxy support, or pull secrets, see Configure the Cluster Agent.

    This example assumes the use of the pre-built Cluster Agent image on Docker Hub. See Cluster Agent Container Image to build your own image.

    apiVersion: cluster.appdynamics.com/v1alpha1
    kind: Clusteragent
    metadata:
      name: k8s-cluster-agent
      namespace: appdynamics
    spec:
      appName: "dev-cluster"
      controllerUrl: "http://mycontroller.com:8080"
      account: "my-account"
      # docker image info where, <version> is the image tag version that you are installing
      image: "docker.io/appdynamics/cluster-agent:<version>"
      serviceAccountName: appdynamics-cluster-agent
      nsToMonitor: [appdynamics,namespace1,namespace2]
      stdoutLogging: "true"
    YML
  7. (Optional)  If you require multiple Cluster Agents to monitor a single cluster, set up Target Allocator. In the cluster-agent.yaml file, enable target allocator with the number of Cluster Agent replicas to enable the operator to create Cluster Agent replicas. See Target Allocator.

    cluster-agent.yaml

    …
    spec:
      …
    appName: "my-cluster"
    nsToMonitorRegex: ".*"
    instrumentationMethod: "None"
    containerAppCorrelationMethod: "none" 
    targetAllocator:
        enabled: true         # false if autoScaling is enabled
        clusterAgentReplicas: 3
        autoScaling:
          enabled: false #false by default
          replicaProfile: Default 
          maxClusterAgentReplicas: 12
          scaleDown:
            stabilizationWindowSeconds: 86400 #In Seconds
        podConfig:
          imagePullPolicy: Always
          imagePullSecret: ecr-secret
          priorityClassName: high-priority
          serviceAccountName: appdynamics-target-allocator
          nodeSelector:{}
          tolerations:[]
          resources:
            limits:
              cpu: 500m
              memory: 500Mi
            requests:
              cpu: 200m
              memory: 200Mi
          labels:{}
          securityContext:{}
    YML
  8. Install the Cluster Agent:

    kubectl create -f cluster-agent.yaml
    CODE

See Validate the Cluster Agent Installation to validate and troubleshoot the installation. Once the install is validated, see Container Installation Options for options to install App Server Agents in applications in the cluster.