If you are working on Kubernetes, your SRE and Ops teams need the right tools to ensure the high availability of the Kubernetes cluster and the workloads running on it. Here we list 10 open source Kubernetes tools to help your SRE and Ops teams meet their service level goals (SLAs) more efficiently.
Kube-ops-view
Kube-ops-view provides a common operational view for multiple Kubernetes clusters, a handy tool for SRE and OPS teams. Kube-ops-view provides read-only system meters. Kube-ops-view provides some really cool features:
- Switch between multiple Kubernetes clusters.
- Render nodes and indicate their general state (” Ready “).
- Displays the capacity and resource usage (CPU and memory) of a node.
- Indicates the pods status (green: Ready/Running, red: error, etc.).
- Provide tooltips for nodes and Pods.
- Pod creation and termination.
- Use the screen token to provide the dashboard on the TV screen.
Cabin
Cabin is a Kubernetes native mobile App dashboard. The Cabin UI uses React Native so it can run on IOS and Android hardware. It is a mobile assistant that provides fine-grained operations to maintain Kubernetes resources. The Cabin App is touch optimized. For example, you can remove a POD with a left swipe. You can also extend deployment with a finger scroll.
- Seamless support for Google Kubernetes Engine (GKE), you can create GKE clusters directly on your mobile phone.
- Early support for help charts, you can browse the chart library and run charts by clicking on the move.
- Access pod logs, search for resources by label, trigger rolling upgrades by changing the image you deploy, and more.
Kubectx
Kubectx is another must-have tool if you are working in a multi-K8S cluster. Kubectx comes bundled with Kubens, allowing you to switch between Kubernetes clusters and namespaces when you use Kubectl.
Kubectx and Kubens support tabbing in bash/ ZSH environments to help you fill in full-length long context names. You no longer need to remember the full context name.
Kube-shell
Kube-shell is a shell integrated with Kubernetes CLI. It has some very nice features, such as:
- Autocomplete command, self-prompt, online documentation.
- Access the execution of historical commands by using up/ Down keyboard commands.
- Get the current context from KubeconFig and switch between clusters/namespaces very easily.
Related tools
Kube-prompt is another interactive Kubernetes client with auto-complete features. It accepts commands without the kubect prefix.
In addition, kube-PS1 is a similar script that lets you add configuration in kubectl’s current Kubernetes context and namespace to your Bash/Zsh prompt characters.
Finally, Kail is a Kubernetes tail. As a Kubernetes log viewer, Kail allows you to stream logs from matching Pods using selectors.
Kel-kubernetes log viewer
You can match Pods based on standard label selectors, by name, by service, by deployment, and so on.
Stern is another logtail solution that focuses on Pods and containers within Pods. Using Stern, the results are colored for quick debugging.
Telepresence
Telepresence is an open source tool that allows you to debug services locally, even if the service is connected to its dependencies in remote Kubernetes clusters or remote cloud service resources such as databases.
Telepresence local development and remote Kubernetes cluster debugging.
Personally, I think Telepresence has a lot of potential and is already a rich native development environment for services running on Kubernetes. Online debugging is new, but growing fast.
Weave Scope
Weave Scope is a debugging and monitoring tool for Docker and Kubernetes. It automatically builds the logical topology and infrastructure for your application so that your SRE and Ops teams can intuitively understand, monitor, and control your container, app-based microservices.
In addition to the topology view, Weave Scope also provides an in-depth view of everything between nodes and processes, including deployments, services, replica sets, Pods, and containers. In addition, you can apply filtering based on CPU and memory usage, or use search by name, label, or even path to quickly find node types, containers, and processes.
PowerfulSeal
PowerfulSeal was inspired by Chaos Monkey and developed by the Bloomberg engineering team. It can add clutter to your Kubernetes cluster, such as killing a target’s Pods or nodes. It operates in two modes: interactive and autonomous.
- Interactive mode is designed to allow you to discover your cluster components and manually stop something to see what happens. It operates on nodes, Pods, deployments, and namespaces.
- Autonomous mode reads a policy file that can contain any number of pod and node scenarios. Each scenario describes a list of matches, filters, and actions on the cluster.
The policy file is written in YAML format and contains scenarios that will be executed by autonomous clients.
Related tools
Kube-monkey is another implementation of Netflix’s Chaos Monkey for Kubernetes clusters. It randomly removes pods from the Kubernetes cluster, encouraging and validating the development of recovery services.
Marmot
Marmot is a workflow execution engine from Google that handles SRE and Ops workflow requirements. It is designed as a tool to handle infrastructure changes, but it can be used with Kubernetes.
It is particularly useful for any type of operation that has a certain pace and may require a health check. So, for example, if you are releasing a new service version with a large number of instances, you perform an increment in a controlled release (the Canary release).
Ark
Ark is a tool for managing disaster recovery from your Kubernetes resources and volumes. Ark provides a simple and robust way to back up and restore Kubernetes resources and persistent volumes from a series of checkpoints. Backup files are stored in an object storage service (for example, Amazon S3).
Ark ensures that you automate the following scenarios in an efficient manner:
- Reduce disaster recovery TTR (response time).
- Kubernetes API objects provide cross-cloud server vendor migration.
- Develop and test environment Settings by copying production environment copies (+CI).
Ark comes with a cluster service (Ark Server) and CLI(Ark client). The most important job of the cluster service is that it runs all the Ark controllers. The Ark server performs the actual backup, validation, and loading of backup files into the cloud object store.
Sysdig
Sysdig is a container debugger that captures system calls and events from the Linux kernel. Sysdig is strace + tcpdump + hTOP + ifTOP + lsof + Wireshark for the entire cluster.
- Sysdig is used at the operating system level for both physical machines and virtual machines. System calls and other operating system events are captured by installing into the Linux kernel. Sysdig can also create trace files for system activities.
Related tools
Sysdig Inspect is an interface to visualize the data collected through Sysdig. Sysdig Inspect makes container troubleshooting and security investigations convenient for SRE and Ops teams.
- Inspect’s user interface is designed to intuitively navigate the data captured by Sysdig, including system, network, and application activities for a Linux system. Sysdig Inspect helps you understand trends, indicators of correlations, and needle in a haystack (finding key data in a pile of data). It contains features designed to support performance and security investigations, deep container queries.
Sysdig Falco is another tool that builds on the data collected by Sysdig. Falco monitors activity and is designed to detect unusual activity in your application. For example, with Falco you can find activities such as:
- Scripts run in a container.
- A container that runs in private mode.
- A container mounted on a sensitive host.
Final thoughts
The Kubernetes ecosystem is exploding. There are a number of open source and commercial tools that can help you operate non-critical Kubernetes clusters and services more efficiently.