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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.