Top Tools for Every Kubernetes Cluster

Top Tools to Run in Every Kubernetes Cluster

  1. cert-manager
  2. external-dns
  3. cluster autoscaler
  4. metrics server
  5. nginx ingress controller
  6. Datadog Agent for monitoring, alerting, and log aggregation

Details About Each Tool

cert-manager

cert-manager is amazing! If you have it running in a k8s cluster, it will create/renew free TLS certs for any services that show up in the cluster.

external-dns

external-dns automates the creation of DNS records for applications running in the k8s cluster. Its a must have!

cluster-autoscaler

cluster-autoscaler will add more nodes to the k8s cluster when all the current resources have been used by the existing workloads.

metrics-server

Run this service to expose the resource metrics API that allows the use of Horizontal Pod Autoscaler to scale up workloads based on CPU or memory usage.

Nginx ingress controller

If you need a great out-of-the-box load balancer, look no further than nginx. Its a fast, high quality way to get the job done.

Datadog Agent

For all my monitoring (infra and APM) I love Datadog. They also have a great log aggregation offering. While they may be a tad more expensive, their monitoring is top notch providing a single dashboards to view all monitoring and logs. Plus its super fast to setup and the administrative burden is very low. While Prometheus is a very popular choice for monitoring/altering, I prefer Datadog for its ease of use and robust functionality.

Deploying These Base Tools

Having an automated way to create and maintain infrastructure is essential. The default tool for infra as code is Terraform to spin up a k8s cluster. To get all the base tools running everyone basically uses Helm charts.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store