Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

...

Onboarding EKS with Container Insights

...

Installing the Agent

...

Metric Ingestion from Prometheus

...

Release Notes

Overview

Yotascale’s EKS Integration requires either the use of Container Insights or the installation of an agent, which is essentially a Kubernetes POD, in each of your clusters that you want to be onboarded onto Yotascale. This document describes how to install the agent onto your cluster. The document also lists some pre-requisites that are required by Yotascale.

...

The deployment descriptor lists multiple environment variables in the last few lines of the file. You would need to configure some of them according to your environment. 

Environment Variable

Description

Value needs to be specified

KUBERNETES_CLUSTER_ID

Give your cluster a unique name in order to identify clusters within Yotascale.

Yes

PROMETHEUS_API_ENDPOINT

Point the agent to the Prometheus API by providing the URL.

Yes

YOTASCALE_API_KEY

This Environment variable authenticates (and identifies) this agent against a Service Role that your administrators have subscribed to by default.

This will be pre-populated in the deployment descriptor and does not need to be updated by the user.

No

YOTASCALE_KUBERNETES_API_ENDPOINT

This is the URL of the Yotascale API that allows the agent to authenticate iteself with Yotascale, and send frequent heartbeats for monitoring. This URL will be pre-populated in the deployment descriptor.

No

Step 3 (Optional): Create Self-Signed Certificate Secret for calling Prometheus API

...

The following metrics enable Yotascale to build a layout of your Kubernetes cluster, determine the relationship between various Kubernetes objects, and understand resource requirements.

Metric Name

Description

kube_node_info

Provides information on the nodes running in the cluster. This includes the "provider id" which contains the resource id of the AWS EC2 instance which corresponds to the Kubernetes node.

kube_node_labels

Provides information about the node such as the instance type e.g c4.xlarge, the region, the availability zone, the os, and the role (master/node)

kube_pod_info

Provides information on the pods running on the clusters including the name of the nodes the pods are running on

kube_pod_labels

Provides label information for pods.

kube_pod_container_info

Provides information on the containers running under each pod.

kube_pod_container_resource_requests_memory_bytes

Requested memory for the container

kube_pod_container_resource_requests_cpu_cores

Requested CPU cores for the container

kube_pod_container_resource_limits_memory_bytes

Upper limit usage for memory usage for the container

kube_pod_container_resource_limits_cpu_cores

Upper limit usage for CPU cores for the container

kube_deployment_labels

The list of deployments and their basic metadata such as namespace

kube_replicaset_owner

Name of the deployment that creates each replica set.

kube_pod_owner

Name of the replica set or daemon set that creates each pods

kube_hpa_labels

Identify the HPA. Map to namespace.

kube_hpa_spec_max_replicas

Max Replicas configured in the HPA

kube_hpa_spec_min_replicas

Min Replicas configured in the HPA

cAdvisor Metrics

The following metrics enable Yotascale to determine actual resource usage for each of your containers.

Metric Name

Description

Metric Name

Description

container_memory_usage_bytes

Actual memory usage by a container

container_cpu_usage_seconds_total

Actual CPU core usage by a container

Release Notes

0.1.7

docker pull yotascale/yotascale-kubernetes-agent:0.1.7

  • The labels "pod_name" and "container_name" have been removed from cAdvisor metrics in Kubernetes 1.16 and are now available as "pod" and "container". The agent now has support for both metric names.

  • Added ability to upload detailed logs to Yotascale allowing Yotascale to show logs and detailed agent status on the UI (as part of a later release of the UI)

...