Monitor Your APIs on Kubernetes with Just One Command
When it’s your job to keep a software service up and running, you don’t always have the time to keep your monitoring up to date.
But when users are reporting issues, you want to know the problem right away, without having to spend days or weeks updating your APM or observability solution.
To solve this problem at Akita, we’re building the fastest time-to-value monitoring solution. Our users can identify endpoints with high latency and errors quickly, often within 30 minutes of installing Akita. Our goal has been to further drive down installation time.
With our updated Kubernetes onboarding, Kubernetes users can now use our injector to run Akita as a sidecar by running a single command.
Life before our new onboarding
In the last few months, many Kubernetes users have onboarded onto Akita. Our onboarding metrics showed us that we needed to do better. Users who knew their own systems well could get set up quickly, but many users had questions.
Our goal is to make it as easy as possible for someone who is not an expert in their own system and infrastructure to set us up. We knew we had to do better.
Why Kubernetes injection?
A Kubernetes injector makes it possible to add sidecar containers to existing pods, allowing us to add a sidecar running Akita to your pod. By injecting Akita as a sidecar into Kubernetes deployments, you can easily gain increased visibility into your APIs, enabling you to more easily debug and optimize your application. One advantage of deploying Akita in a sidecar is that Akita is more likely to be able to see encrypted traffic.
One of the key benefits of using Kubernetes injection is that it can simplify the process of updating Kubernetes Deployments. Rather than manually updating each Deployment manifest, users can simply apply the injection command, which will automatically add the necessary sidecar containers. Manual modification of Deployment manifests can be a daunting and error-prone task, especially for large, complex applications. This can result in inconsistent deployment configurations, potential downtime, and increased risk of errors. It can also be time-consuming, taking valuable resources away from other tasks.
Additionally, Kubernetes injection can help to ensure consistency across a user's Kubernetes deployments. By automatically adding the necessary sidecars to each Deployment, users can be sure that all of their microservices have the same set of dependencies and configurations, reducing the likelihood of configuration errors or inconsistencies that could impact application performance or security.
Introducing our new Kubernetes onboarding
With our new onboarding, Kubernetes users no longer need to manually edit their Deployment . You can now use Akita simply by running a single command: `akita kube inject`.
This command adds the Akita sidecar to Kubernetes Deployment manifests, immediately enhancing the API observability of your applications.
With the `akita kube inject` command, integrating Akita’s powerful API observability and monitoring tools into your Kubernetes-based applications has never been easier. This new feature streamlines the onboarding process and eliminates the need for manual configuration, saving you time and reducing the potential for errors.
The `akita kube inject` command is designed to be flexible and customizable, allowing you to tailor the injection process to your specific needs. You can choose to generate a Kubernetes Secret containing your Akita API key or provide your own Secret, giving you greater control over your configurations. You can also output injected Deployment manifests to a file or to standard out, and use it in conjunction with other tools, such as `kubectl` or Helm, to perform additional operations.
By injecting the Akita sidecar into your Kubernetes Deployments you gain unprecedented visibility into your application’s API traffic, including detailed information on request and response payloads, status codes, and latency metrics. This level of observability can help you identify and diagnose issues quickly, leading to faster resolution times and improved application performance.
The akita kube inject command is designed to work specifically with Kubernetes Deployment manifests, which are commonly used to deploy stateless applications in Kubernetes clusters. (Note: if you are using a different type of Kubernetes object to deploy your microservices, such as a DaemonSet, the akita kube inject command will have no effect. Please follow our other Kubernetes instructions if that is the case.)
I'm excited to be one step closer to making every software team five minutes away from understanding prod. Akita is in open beta and we would love to have you try us out.
Photo by Godfrey Nyangechi on Unsplash.