Installing the Host Agent on Oracle Container Engine for Kubernetes (OKE)

There are different ways to instal the instana-agent onto a Kubernetes cluster. While having the Agent installed manually directly on the host will do the job of monitoring containers and processes on that host it will not be able to collect Kubernetes data.

Installation

The recommended way to install the agent is via the Helm chart. To do a manual install follow the steps for the regular Kubernetes install.

When creating a Kubernetes cluster on Oracle Container Engine for Kubernetes (OKE) there is an option to install Helm called Tiller (Helm) Enabled; for more information on using Helm on OKE, refer to the Creating a Kubernetes Cluster OKE documentation.

Check the version of Helm installed on the cluster with the version installed on your workstation.

helm version

If the version of Helm installed on the newly created Kubernetes cluster is older than the version of helm installed on your workstation, update it with:

helm init --upgrade

Clone the Instana helm chart to your workstation.

git clone https://github.com/instana/helm-charts

Make the cloned directory the working directory.

cd helm-charts/stable/instana_agent

From the Instana dashboard Management Portal, select Install Agent then make a note of the unique agent key and agent endpoint from the Docker based panel. Now edit values.yaml and put in the those values.

image:
  name: instana/agent
  tag: latest
  pullPolicy: IfNotPresent

rbac:
  create: true

instana:
  zone: Oracle-OKE
  leaderElectorPort: 42655
  agent:
    key: <your unique key here>
    name: instana-agent
    endpoint:
      host: <regional endpoint here>
      port: 443

## Annotations to be added to pods
podAnnotations: {}

Finally install via helm:

helm install --name instana-agent --namespace instana-agent .

Configuring network access for monitored applications

The following types of applications need to reach out to the agent first:

  • Node.js
  • Go
  • Ruby
  • Python
  • .NET Core

Applications written in the runtimes listed above, need to know on which IP the host agent is listening on the same Kubernetes node. As the agent will listen on the host IP automatically, use the following Downward API snippet to pass the IP address of the host agent in an environment variable to the application pod:

spec:
  containers:
      env:
        - name: INSTANA_AGENT_HOST
          valueFrom:
            fieldRef:
              fieldPath: status.hostIP