Kubernetes

Supported Versions

  • 1.7.x
  • 1.8.x
  • 1.9.x
  • 1.10.x

Supported Managed Kubernetes

  • Amazon Elastic Container Service for Kubernetes (EKS): 1.10.x
  • Azure Kubernetes Service (AKS): 1.10.x
  • Google Kubernetes Engine (GKE): 1.10.x

Installing the Instana agent in Kubernetes

The Agent Setup Quick Start for Kubernetes describes how to install the Instana agent into your cluster in a production-ready configuration.

Sensor Data Collection

Instana collects information about the Kubernetes Cluster, Deployments, Pods, and Nodes.

  • Cluster

    • KPIs
    • Node Count
    • Pods Allocation (Allocated Pods / Pods Capacity ratio)
    • CPU Requests Allocation (CPU Requests / CPU Capacity ratio)
    • CPU Limits Allocation (CPU Limits / CPU Capacity ratio)
    • Memory Requests Allocation (Memory Requests / Memory Capacity ratio)
    • Memory Limits Allocation (Memory Limits / Memory Capacity ratio)
    • CPU Resources
    • CPU Requests (aggregated cpu requests of all running containers)
    • CPU Limits (aggregated cpu limits of all running containers)
    • CPU Capacity (aggregated cpu capacity of all nodes)
    • Memory Resources
    • Memory Requests (aggregated memory requests of all running containers)
    • Memory Limits (aggregated memory limits of all running containers)
    • Memory Capacity (aggregated memory capacity of all nodes)
    • Pods (aggregated on whole cluster)
    • Running Pods
    • Pending Pods
    • Allocated Pods
    • Pods Capacity
    • Replicas (aggregated from all deployments)
    • Available Replicas
    • Desired Replicas
    • Node list with kpis
    • Deployment list with kpis
    • Component Statuses
  • Node

    • KPIs
    • Pods Allocation (Allocated Pods / Pods Capacity ratio)
    • CPU Requests Allocation (CPU Requests / CPU Capacity ratio)
    • CPU Limits Allocation (CPU Limits / CPU Capacity ratio)
    • Memory Requests Allocation (Memory Requests / Memory Capacity ratio)
    • Memory Limits Allocation (Memory Limits / Memory Capacity ratio)
    • CPU Resources
    • CPU Requests (aggregated cpu requests of all running containers on this node)
    • CPU Limits (aggregated cpu limits of all running containers on this node)
    • CPU Capacity
    • Memory Resources
    • Memory Requests (aggregated memory requests of all running containers on this node)
    • Memory Limits (aggregated memory limits of all running containers on this node)
    • Memory Capacity
    • Pods Allocation
    • Allocated Pods (running pods on this node)
    • Pods Capacity
    • Conditions
    • Labels
    • Pods list
  • Namespace

    • KPIs
    • Pods Allocation (Allocated Pods / Pods Capacity ratio)
    • CPU Requests Allocation (CPU Requests / CPU Capacity ratio)
    • CPU Limits Allocation (CPU Limits / CPU Capacity ratio)
    • Memory Requests Allocation (Memory Requests / Memory Capacity ratio)
    • Memory Limits Allocation (Memory Limits / Memory Capacity ratio)
    • Deployments list
    • Deployment configs list
  • Deployment

    • Conditions
    • Labels
    • CPU Resources
    • CPU Requests (aggregated cpu requests of all running containers of this deployment)
    • CPU Limits (aggregated cpu limits of all running containers of this deployment)
    • Memory Resources
    • Memory Requests (aggregated memory requests of all running containers of this deployment)
    • Memory Limits (aggregated memory limits of all running containers of this deployment)
    • Pods
    • Available vs Desired Pods
    • Pending vs Unscheduled vs Unready Pods
    • Pending phase duration (in most cases can be interpreted as rollout duration )
  • Pod

    • KPIs
    • Phase
    • Restarts (aggregated on all containers of this pod)
    • CPU Requests (aggregated on all containers of this pod)
    • CPU Limits (aggregated on all containers of this pod)
    • Memory Requests (aggregated on all containers of this pod)
    • Memory Limits (aggregated on all containers of this pod)
    • Conditions
    • Labels
    • Container list (State, Restarts)

Monitoring Kubernetes

Once the agent has been deployed to your cluster, the Kubernetes sensor will report detailed data about the cluster and the resources deployed into it.

As written above Instana automatically discovers and monitors Kubernetes

  • Clusters
  • Nodes
  • Namespaces
  • Deployments
  • Pods

Finding Kubernetes

You can use Dynamic Focus to filter the data. You can for example search for a specific deployment in the cluster. Kubernetes dynamics focus filter for deployment

If you are in the Infrastructure view it will show you the corresponding host and Docker container for the deployment. As with all other queries in Dynamic Focus the filter will also work for the Application & Service Management.

Dynamic Focus also offers various options to find Kubernetes. Specific Kubernetes keywords (just the first level - select one to drill down): Kubernetes dynamic focus keywords

You can also search for the different types of entities within Kubernetes: Kubernetes dynamic focus types

Within the Infrastructure view you will see hosts or containers. If a host is also a node in Kubernetes once you click on the host you will also see the Kubernetes panel in the sidebar Kubernetes Sidebar on Host

If you click on a Docker container or navigate to it you will also see the Kubernetes panel in the sidebar with further details Kubernetes Sidebar on Docker

You also have access to the Kubernetes labels on the various levels. Here as an example the labels associated with the Docker container Kubernetes labels

Within the Kubernetes panel you can also navigate the different entities. For example you can drill deeper into a deployment. Please note that the deployment dashboard offers a variety of information and metrics about it. Including configuration, state and the kubectl command to drill deeper if you want. Kubernetes deployment

Built-in Health Rules

There are couple of built-in health rules that will trigger an issue for Kubernetes entities

  • Cluster

    • Component unhealthy (Kubernetes API reports unhealthy component status)
  • Node

    • Requested CPU is approaching max capacity (requested CPU / CPU capacity ratio is bigger than 80%)
    • Requested Memory is approaching max capacity (requested memory / memory capacity ratio is bigger than 80%)
    • Allocated pods are approaching maximum capacity (allocated pods / pods capacity ratio is bigger than 80%)
    • Bad Condition (node reports a condition in bad state for more than one minute)
  • Namespace

    • Requested CPU is approaching max capacity (requested CPU / CPU capacity ratio is bigger than 80%)
    • Requested Memory is approaching max capacity (requested memory / memory capacity ratio is bigger than 80%)
    • Allocated pods are approaching maximum capacity (allocated pods / pods capacity ratio is bigger than 80%)
  • Deployment

    • Available replicas less than desired replicas
  • Pod

    • Bad Condition (pod reports a condition in bad state for more than one minute)