This page describes how to install the Infraviz (Machine Agent and Network Agent) using Splunk AppDynamics OpenShift Operatorhub Bundle which is an alternative to Install Infrastructure Visibility with the Kubernetes CLI.

Splunk AppDynamics OpenShift OperatorHub Bundle is available at RedHat Catalog

Requirements

Before you begin, verify that you have:

  • Openshift Cluster environment

  • Met these requirements: Cluster Agent Requirements and Supported Environments.
  • If Server Visibility is required, sufficient Server Visibility licenses based on the number of worker nodes in your cluster. 
  • Permissions to view servers in the Splunk AppDynamics Controller.

Installation Procedure

  1. Create a namespace for appdynamics in your cluster:

    kubectl create namespace appdynamics
    BASH
  2. Install Splunk AppDynamics Operator:

    1. Go to your openshift cluster console
    2. Go to Operators > OperatorHub 

    3. Search with the appdynamics filter

    4. Click Install

  3. Update the infraviz.yaml file to set the controllerUrlaccount, and globalAccount values based on the information from the Controller's License page.
    To enable Server Visibility, set enableServerViz to true (shown in the infraviz.yaml configuration example).
    To deploy a Machine Agent without Server Visibility enabled, set enableServerViz to false.

    infraviz.yaml Configuration File with Server Visibility Enabled

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: appdynamics-infraviz
      namespace: appdynamics
    ---
    apiVersion: cluster.appdynamics.com/v1alpha1
    kind: InfraViz
    metadata:
      name: appdynamics-infraviz
      namespace: appdynamics
    spec:
      controllerUrl: "https://mycontroller.saas.appdynamics.com"
      image: "docker.io/appdynamics/machine-agent:latest"
      account: "<your-account-name>"
      globalAccount: "<your-global-account-name>"
      enableContainerHostId: true
      enableServerViz: true
      resources:
        limits:
          cpu: 500m
          memory: "1G"
        requests:
          cpu: 200m
          memory: "800M"
    YML

    The infraviz.yaml configuration file example deploys a daemonset that runs a single pod per node in the cluster. Each pod runs a single container from where the Machine Agent, or Server Visibility Agent runs. 

  4. To enable the Network Visibility Agent to run in a second container in the same pod, add the netVizImage and netVizPort keys and values as shown in this configuration file example:

    infraviz.yaml Configuration File with Second Container in a Single Pod

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: appdynamics-infraviz
      namespace: appdynamics
    ---
    apiVersion: cluster.appdynamics.com/v1alpha1
    kind: InfraViz
    metadata:
      name: appdynamics-infraviz
      namespace: appdynamics
    spec:
      controllerUrl: "https://mycontroller.saas.appdynamics.com"
      image: "docker.io/appdynamics/machine-agent:latest"
      account: "<your-account-name>"
      enableContainerHostId: true
      enableServerViz: true
      netVizImage: appdynamics/machine-agent-netviz:latest
      netVizPort: 3892
      resources:
        limits:
          cpu: 500m
          memory: "1G"
        requests:
          cpu: 200m
          memory: "800M"
    YML
  5. Use kubectl to deploy infraviz.yaml 

    For environments where Kubernetes PodSecurityPolicies block certain pod security context configuration, such as privileged pods, you must deploy the infraviz-pod-security-policy.yaml before editing the infraviz.yaml file.

    For environments where OpenShift SecurityContextConstraints block certain pod security context configuration, such as privileged pods, you must deploy the infraviz-security-context-constraint-openshift.yaml before editing the infraviz.yaml file.

    kubectl create -f infraviz.yaml
    BASH
    kubectl create -f infraviz-pod-security-policy.yaml
    kubectl create -f infraviz.yaml
    BASH
    kubectl create -f infraviz-security-context-constraint-openshift.yaml
    kubectl create -f infraviz.yaml
    BASH
  6. Check appdynamics-operator and appdynamics-infraviz pods are running. Also, Check Catalogsource, Subscription and Clusterserviceversion are created:

    # Operator pod status
    kubectl get pods -n appdynamics
    
    # Infraviz pod status
    kubectl get pods -n appdynamics
    
    # catalogsources should be created
    kubectl get catalogsources -n appdynamics
    
    # subscriptions should be created
    kubectl get subscriptions -n appdynamics
    
    # ClusterServiceVersion should be created
    kubectl get clusterserviceversion -n appdynamics
    YML
  7. To uninstall Infraviz and Splunk AppDynamics Operator:

    1. Delete the Infraviz:

      kubectl delete -f infraviz.yaml
      CODE
    2. Delete Splunk AppDynamics Operator:

      1. Go to your OpenShift cluster console

      2. Go to Operators > Installed Operators 

      3. Click on Cisco AppDynamics Operator for Kubernetes > Actions > Uninstall Operator 

Check Infraviz Configuration Settings here.