The 12 Days of Kubernetes (Tools)

The 12 Days of Kubernetes (Tools)

Kubernetes (also known as k8s) is an orchestration platform and abstract layer for containerized applications and services. As such, k8s manages and limits container available resources on the physical machine, as well as takes care of deployment, (re)start, stop, and scaling of service instances.

While Kubernetes helps with managing complex application infrastructures, there is a whole new set of questions on the horizon:

  • How do I get my logs?
  • What is the memory or CPU consumption of my service?
  • How to call other services?

Instana already helps you answer all questions around performance and health metrics, request latencies and service dependencies, however, there are also a lot of other tools in the k8s ecosystem that can help you answer all of your other related questions.

What better time is there than the Christmas holiday to allow yourself a timeout to investigate something that’ll make your life easier and happier? Isn’t that the Christmas spirit? 😉

12 Days, 12 Kubernetes Tools

For your 12 Days of Christmas, Instana provides you with your 12 Days of Kubernetes. A list of tools, integrations, and extensions to simplify your life.

1. kubectx (and kubens)

kubectx is the must-have tool when working with multiple Kubernetes clusters. It provides a solution to quickly switch between configured contexts. That’s it. Sometimes the small things are the important ones.

Link: https://github.com/ahmetb/kubectx

2. Lens

Kubernetes manages components as resources. That means, basically every part that makes up a system consists of multiple “independent” resources. Managing those using kubectl can be tedious and has quite the steep learning curve for newcomers. Lens provides a graphical wrapper around all features of kubectl and simplifies resource investigation and management.

Link: https://github.com/lensapp/lens

3. Loki

Log files and standard out / err are still the most common way to deliver quick and configurable insights into what is going on in my service. Accessing those logs, however, became just slightly more complicated. Lens helps you access them faster, but a real logging solution, with search capabilities is even more convenient. Loki, by the folks behind Grafana, does the job for you.

Link: https://grafana.com/oss/loki

4. kubewatch

Wondered how you can keep up to date with what is going on in your cluster? kubewatch can send events straight into your favorite team communication tool (like Slack, mattermost, or others) or to a webhook. Build your own notification and audit tools.

Link: https://github.com/bitnami-labs/kubewatch

5. kube-monkey

Testing a service, application, or cluster for resiliency and failure resistance? kube-monkey has you covered. It implements a Netflix’ Chaos Monkey style service that randomly deletes pods and helps you constantly test failover scenarios and user impact.

Link: https://github.com/asobti/kube-monkey

6. kail

Coming back to the problem of logs, while Loki helps you collect, manage, store, and search logs, sometimes we all just want to follow the one output which is acting strange right now. In the “normal?!” world we’d use tail, with Kubernetes we go for kail.

Link: https://github.com/boz/kail

7. Helm

To be honest, if you haven’t heard of Helm and you work with k8s on a daily basis, you’ve been living under a rock for the past several years. Helm helps to simplify the installation and upgrading of complex services in Kubernetes. Helm Charts, the service’s blueprint, are available for most services and provide the out of the box experience of an installation program. Do yourself a favor, use Helm.

Link: https://github.com/kubernetes/helm

8. Ambassador

Ambassador provides a Kubernetes-native API Gateway implementation built on the Envoy Proxy. Move all features, such as authentication, load balancing, rate limiting, session encryption, and many more to the place they belong, out of your service. Stay true to the business use case.

Link: https://www.getambassador.io

9. fission

You’re a fan of serverless, but your company / project uses Kuberentes? Those worlds don’t have to be separated. Using fission, you can provide yourself and everybody in your team or company the possibility to take the best of both worlds; full Kubernetes where needed, easy-to-deploy and scalable serverless tasks for the rest.

Link: https://fission.io

10. Linkerd

Communication between services in dynamic environments, like Kubernetes, is not easy. IP addresses are temporary, domain names may be unknown upfront and how do you make sure that communication between services is encrypted? The Linkerd service mesh helps with requests like those, and many more.

Link: https://github.com/linkerd/linkerd2

11. kubebox

Bash was one of your first words, but you also love the convenience that graphical UIs can offer due to their windows and panels? kubebox will enlighten your day with its rich CLI user interface to monitor all components of your k8s cluster.

Link: https://github.com/astefanutti/kubebox

12. Managed Kubernetes Platforms

Setting up and running your own Kubernetes cluster is cool, I get that. Managing it in production is not though. Managed Kubernetes Platforms like IBM’s Cloud Kubernetes Service, Azure Kubernetes Service (AKS), AWS’ EKS (Elastic Kubernetes Service), the Google Kubernetes Engine (GKE), or k8s from companies such as Digital Ocean, Platform9, or any of the other companies offer a level of support that is, like a major credit card company would claim, priceless. Invest time where it should be invested and leave the Kubernetes management to others, the ones without a life.

Make Your Life Easier

I hope you liked my little excursion into the world of Kubernetes and the ecosystem surrounding it. And first and foremost, I hope you found something new.

And don’t forget, when you’re looking for end-2-end insight into your Kubernetes cluster, the deployed services, the dependencies between components, or the hardware it is running on, Instana has you covered. Sign in with your account right now or sign up for our free trial and get unseen insight in minutes.

Play with Instana’s APM Observability Sandbox

Announcement, Product
This blog post was originally published by IBM What is IBM Observability by Instana? IBM Observability by Instana provides businesses with advanced application performance monitoring and observability capabilities, manages the performance of...
|
Product, Thought Leadership
It’s just been a few months since IBM acquired Instana, but we’ve been working hard to make the world of AIOps and Observability a better place. Recently, the two sides of the...
|
Announcement, Engineering, Product
Instana Adds Production Ruby Profiling In the latest Instana release (Instana Release 201), AutoProfile for Ruby is generally available. This allows teams developing and supporting Ruby based applications to continuously collect and...
|

Start your FREE TRIAL today!

Instana, an IBM company, provides an Enterprise Observability Platform with automated application monitoring capabilities to businesses operating complex, modern, cloud-native applications no matter where they reside – on-premises or in public and private clouds, including mobile devices or IBM Z.

Control hybrid modern applications with Instana’s AI-powered discovery of deep contextual dependencies inside hybrid applications. Instana also gives visibility into development pipelines to help enable closed-loop DevOps automation.

This provides actionable feedback needed for clients as they to optimize application performance, enable innovation and mitigate risk, helping Dev+Ops add value and efficiency to software delivery pipelines while meeting their service and business level objectives.

For further information, please visit instana.com.