50+ Kubernetes DevOps Tools on GitHub
by Nikki Gannon, on Jul 19, 2019 10:30:00 AM
Kubernetes is a popular open source container orchestration system that automates application deployments, scaling, and managing. It is one of the most popular container solutions available today.
The list below contains a list of Kubernetes DevOps tools to help you get the most out of its capabilities.
Kube Cluster Deployment Tools
1. Amazon EKS
Amazon Elastic Container Service is a Kubernetes DevOps tool that allows users to manage and scale their containerized applications and simplify deployments using Kubernetes. Amazon EKS can run Kubernetes without having to operate on your own Kubernetes plane. Amazon EKS is compatible with existing applications that run on upstream Kubernetes.Amazon EKS Issues
Amazon EKS Review
Amazon EKS has a flexible layout and reduces maintenance overhead. This allows organizations to shift their focus from setting up Kubernetes clusters from scratch and gets them back to building applications. Current users state that the Amazon EKS is a bit of an adjustment to learn. It’s recommended for AWS cloud users who want to run Kubernetes without operating their own control plane in Kubernetes.
Sources:
2. Kubespray
Kubespray is an Ansible-Based tool that deploys production ready clusters Since Kubespray has an open development model, it’s easy for anyone to learn how to use Kubespray. For those who already know Ansible, this tool is a good choice.Kubespray Issues
Kubespray Review
Kubespray is a great tool for those familiar with Ansible. It uses a single command run, to significantly condense the difficulty of orchestrating a cluster. It is also easy to use and recommended to run on bare metal for users without internet connectivity problems.
Sources:
3. Conjure-up
Conjure-up allows users get back to using their big software instead of learning how to deploy it with a few simple commands and minimal fuss. Conjure-up supports localhost deployments, AWS, bare metal, Azure, VMware, Joynet, and OpenStack.Conjure-up Issues
Conjure-up Review
Conjure-up is easy to use and allows users to deploy their applications with minimal issues. However, it’s not recommended for those who have IPv6 enabled and do not wish to disable it. Make sure to check that you meet the hardware requirements prior to use.
Sources:
4. Minikube
Minikube is a good starting point for those who are in the exploration stages of Kubernetes. This tool allows users to easily run Kubernetes locally by running a single-node Kubernetes cluster inside a VM on a user’s laptop. Minikube is supported on OSX, Windows, and Linux.Minikube Issues
Minikube Review
Minikube is popular because it runs Kubernetes locally to everyone. This is the most recommended tool to operate a Kubernetes cluster. However, Minikube is not recommended for those who are in a DevOps SRE role.
Sources:
5. Juju
If you are looking for an open source application modeling tool, check out Juju. Juju allows users to easily deploy, configure, scale, and operate their software. It’s supported on public and private clouds such as Microsoft Azure, Amazon AWS, and Google GCE.Juju Issues
Juju Review
Juju users like the open-platform and customer-centric support. It is also easy to install, implement, and maintain. However, some users feel its cloud solutions remain complex. Nevertheless, many still consider it better than alternatives.
Sources:
6. Kubeadm
Kubeadm provides users a best-practice “fast path” to create Kubernetes clusters using a single command. With this tool, you can bootstrap clusters on existing infrastructures. Kubeadm is compliant with the Certified Kubernetes guidelines.Kubeadm Issues
Kubeadm Review
Kubdeam is a great tool for skilled and/or first-time users to deploy a cluster. However, provisioning software and networking setups are out of Kubeadms scope. Instead, its scope is intended to be a composable building block of higher level tools.
Sources:
7. SimpleKube
SimpleKube is another tool friendly to first-time Kubernetes users. You can deploy a single-note Kubernetes cluster on a Linux server without having to plug in with any cloud provider. SimpleKube installs all K8s onto the server itself.SimpleKube Issues
SimpleKube Review
SimpleKube is great for those who are looking to try Kubernetes. However, it is not like Minikube where Kubernetes clusters are run on a VM. Instead, it installs K8s onto the server itself which allows you to launch the script and work within your Kubernetes clusters.
8. Kops
Kops is an AWS supported tool that manages production-grade Kubernetes clusters. Kops applies infrastructures changes to existing clusters using declarative configuration. AWS commonly uses Kops to automate Kubernetes.Kops Issues
Kops Review
Kops users often state it works great with AWS. However, be aware that Kops does lack pre/post install hooks for node configuration. Kops does a lot, but it can’t do everything. Make sure it satisfies your needs before using it.
Sources:
9. Kubernetes on AWS (Kube-AWS)
Kube-AWS, also known as Kubernetes Incubator, provisions production-ready Kubernetes clusters using AWS CloudFormation. By using Kube-AWS, you can deploy a traditional Kubernetes cluster and provision these clusters in a customizable manner.Kubernetes on AWS (Kube-AWS) Issues
Kubernetes on AWS (Kube-AWS) Review
Kube-AWS is a great tool for CloudFormation users. While it does make it easier to manager Kubernetes clusters, make sure to put all the right AWS Cloud Formation tools in place to ensure an effective installation.
Sources:
10. Bootkube
Bootkube launches self-hosted Kubernetes clusters and helps to set up a temporary Kubernetes control plane. Bootkube can also be used to generate necessary assets to use when bootstrapping a new cluster. You can change assets to support any configuration changes.
Bootkube Issues
Bootkube Review
Bootkube is meant to be a single-use tool for the first note in a cluster. If you are looking for a fully-featured rendering engine, there are better tools available.
Sources:
Monitoring Tools
11. Kubebox
Kubebox gives you an old-school interface to monitor and manage your cluster-live status. Use it to monitor your clusters and container logs, as well as your pod resource usage.Kubebox Issues
Kubebox Review
Some believe Kubebox should be expected to work the same as kubectl. There are some issues relating to credentials and connecting to the host node and making sure every machine has the proper kubectl configuration. There is no web version of Kubebox.
Sources:
- Kubebox on Docker Hub
- Hacker News: DigitalOcean Introduces Kubernetes Product
- GitHub Issue: Kubebox should simply work the way kubectl works
12. Kubernetes Operational View (Kube-ops-view)
Kubernetes Operational View (Kube-ops-view) allows you to manage multiple K8s clusters through a read-only system dashboard. The goal of Kube-ops-view is to provide a common operational view for multiple Kubernetes clusters by easily navigating between clusters and monitoring nodes.Kubernetes Operational View (Kube-ops-view) Issues
Kubernetes Operational View (Kube-ops-view) Review
Kube-ops-view is not a replacement for the Kubernetes Dashboard. If you are looking for a dashboard or monitoring system, you must find the appropriate tools to do so. This tool is strictly used to provide an operational picture for multiple Kubernetes clusters.
Sources:
13. Kubetail
Kubetail collects logs from multiple pods into one stream using a small bash script. It’s a helpful tool for those who want to run multiple instances of a pod behind a replication controller.Kubetail Issues
Kubetail Review
Users have found Kubetail helpful to diagnose issues with deployments. However, there are no highlighting or filtering features on the initial version.
Sources:
14. Kubewatch
Kubewatch gives notifications through webhooks through a Kubernetes watcher. This tool is run on a pod within a Kubernetes cluster and currently publishes notification to available collaboration hubs/notification channels as it monitors system changes. You can customize your notifications by simply editing the configuration file.Kubewatch Issues
Kubewatch Review
Kubewatch is a great tool to ensure that your containers are secure and packaged using industry bests practices while monitoring software for vulnerabilities and updates. However, users indicate it would be helpful to add support for multiple instances.
Sources:
15. Weave Scope
Weave Scope monitors and troubleshoots Kubernetes and Docker clusters so you can easily identify and correct issues with your containerized applications. You can use it to easily identify application performance bottlenecks
Weave Scope Issues
Weave Scope Review
Weave Scope is a great tool for monitoring your containerized applications for bottlenecks. Current users state that the tool is great for their Docker and Kubernetes clusters.
Sources:
16. Searchlight
Searchlight is used to check Kubernetes clusters for problems. If an issue is detected, you can receive a notification via SMS, email, or chat. Searchlight includes a suite of check commands that is specific for Kubernetes.
Searchlight Issues
Searchlight Review
Searchlight is a very helpful tool for detecting issues with their Kubernetes clusters. However, you will need to implement additional tools/processes to address issues Searchlight detects.
Sources:
17. Kubeturbo/Turbonomic
Turbonomic/Kubeturbo provides visibility and control across your entire stack. It enables continuous scaling for applications and the underlying cluster. This tool assures the efficiency of underlying infrastructure and the performance of running microservices in Kubernetes pods.Kubeturbo/Turbonomic Issues
Kubeturbo/Turbonomic Review
Kubeturbo/Trubonomic is a great tool to balance their environment workload. The tool can report on performance, workload automation, and more. However, most users find there is a slight learning curve to using the interface.
Sources:
Testing
18. Kube-monkey
Looking for the Kubernetes version of Netflix’s Chaos Monkey? Kube-monkey is the “Kubernetes equivalent”. Following the principles of chaos engineering, Kube-monkey will randomly delete Kubernetes pods in the cluster and validate the development of failure-resilient services.Kube-monkey Issues
Kube-monkey Review
Kube-monkey is a good tool to help users establish failure-resilient services. The ability to schedule when it will delete K8’s to ensure failure-resilience is especially popular.
Sources:
19. K8s-testsuite
K8s-testsuite conducts network bandwith testing and load testing on a Kubernetes cluster using two helm charts in the test suite. This helps users ensure their configuration is correct and their services are up and correctly load balancing.K8s-testsuite Issues
K8s-testsuite Review
K8s-testsuite is a good tool for those who are actively using Kubernetes in an OpenStack system. The tools helps to roll out CI/CD pipelines, ensure that your configuration is correct, and ensure that services are up and load balancing correctly.
Sources:
20. Test-infra
Test-infra is a collection of tools used to test and verify Kubernetes results. It’s based on the Pytest framework, and contains dashboards that display history, aggregate failures, and current tests.Test-infra Issues
Test-infra Review
Test-infra is a great Kubernetes testing tool. It can handle complex templates to test and detect errors, and is very useful to write and handle effective tests.
Sources:
21. Sonobuoy
Sonobuoy runs tests on the state of your Kubernetes clusters in an accessible and non-destructive manner. This allows users to understand the state of a Kubernetes cluster through more informative reports based on the tests.Sonobuoy Issues
Sonobuoy Review
Sonobouy users like the ability to customize tests on their Kubernetes clusters. The tool also ensures that these clusters are set up properly and meet the conformance standards of the Cloud Native Computing Foundation.
Sources:
- Sonobuoy on GitHub
- VMware: Certifying Kubernetes with Sonobuoy
- Medium: Introducing Heptio Sonobuoy Scanner: A web-based tool to ensure your Kubernetes cluster is properly configured
22. PowerfulSeal
PowerfulSeal is another Chaos Monkey inspired tool released by Bloomberg. The tool is Kubernetes specific and follows the Principles of Chaos Engineering. You can use it to manually break specific cluster components through an interactive mode and it does not need external dependencies from SSH.PowerfulSeal Issues
PowerfulSeal Review
PowerfulSeal’s interactive mode is a good tool to manually break clusters, cause failures, and see the results. However, too much reliance on manual breaks can hinder the opportunity to see issues within other clusters.
Sources:
- PowerfulSeal on GitHub
- InfoQ: Bloomberg Releases Open Source "PowerfulSeal" Kubernetes-Specific Chaos Testing Tool
Security
23. Trireme
Trireme introduces a different approach to network authorization by improving security and reducing complexity for Kubernetes processes, workloads, and containers. This is a straightforward implementation of Kubernetes Network Policies specifications. Trireme allows users to work in any of their Kubernetes clusters and manage the traffic between pods from different clusters.Trireme Issues
Trireme Review
This tool is recommended to ease the complexity of Kubernetes workloads, containers, and processes. This helps to enforce security at the application layer. However, it does not enforce native Network Policies without a third party tool.
Sources:
24. Aporeto
Aporeto is a cloud-native security solution that protects cloud applications from attack through workload identity, encryption, and distributed policies assigned to every workload. Aporeto’s security policies function independently from the underlying infrastructure.
Aporeto Issues
Aporeto Review
This tool is ideal for those who are cloud-native and are looking to have a more secure network. Security policies are enforced per workload independent of the network. This helps to enable uniform security orchestration within multi-cloud environments. Those in favor of security done in open source would be in favor of Aporeto.
Sources:
25. Twistlock
Twistlock is a container security platform that monitors your K8 deployed applications for vulnerabilities and compliance issues by running real-time intervention, blocking, and prevention for any in-process runtime attacks. This tool can also protect your front end microservices from common attacks. This is executed by securing VMs, containers, serverless functions, service meshes, or a mixture.
Twistlock Issues
Twistlock Review
Twistlock is an effective cloud native tool for those who want to ensure compliance and manage vulnerabilities. Regarding compliance, it is a single holistic platform to protect your applications, networks, and hosts. From a security perspective, Twistlock provides information and visibility regarding attaches along with detailed documentation on forensics, real-time analytics, and auditing.
Sources:
26. Sysdig Falco
Sysdig Falco is an open source runtime container security solution. It is designed to detect abnormal activity in your applications. Falco is a sandbox level project and is hosted by the Cloud Native Computing Foundation.
Sysdig Falco Issues
Sysdig Falco Review
Sysdig Falco provides visibility into the behavior of containers and applications, which is essential for DevSecOps. It shortens the time required to detect security incidents and apply rules that let you continuously monitor and detect containers, applications, hosts, and network activity.
Sources:
27. Sysdig Secure
Sysdig Secure is a container intelligence platform that performs run-time security and forensics solutions for your microservices and containers. Multiple container orchestration tools are supported such as Kubernetes, Docker, AWS ECS, and Apache Mesos. This platform is offered for cloud and on-premise software.
Sysdig Secure Issues
Sysdig Secure Review
Sysdig Secure can protect your entire infrastructure with no added overhead by providing full performance monitoring and troubleshooting for your environment.
Sources:
28. Kubesec.io
Kubesec.io allows you to calculate the risk of your Kubernetes resources by use of security features. This allows users to verify resource configuration in accordance with Kubernetes security best-practices. It gives you total control on how to improve security and additional suggestions along with plenty of resources on the site that relates to containers and Kubernetes security.
Kubesec.io Issues
Kubesec.io Review
Kubesec.io helps to implement continuous Kubernetes security. Those who currently use Kubesec.io are pleased with the amount of external links related to containers and Kubernetes security that are on the site.
Sources:
Helpful CLI Tools
29. Cabin
Cabin is a mobile dashboard for the management of Kubernetes via Android or iOS. It allows users to manage their clusters remotely and is a great tool for quick remediation actions for any incidents.
Cabin Issues
Cabin Review
Cabin is a great tool to quickly manage Kubernetes applications while they away from their main device. However, this is not much of a tool for development. Engineers who are frequently away from their main computer and need to quickly manage their Kubernetes clusters will find Cabin useful.
Sources:
30. Kubectx/Kubens
Kubectx/Kubens helps users to switch context easily by switching back and forth between clusters. You can use it to switch between Kubernetes namespaces smoothly.
Kubectx/Kubens Issues
Kubectx/Kubens Review
Kubectx/Kubens is beneficial for those who consistently navigate between clusters or namespaces. Using the auto-completion feature, users can switch context easily and connect to multiple Kubernetes clusters at the same time.
Sources:
31. Kube-shell
Kube-shell is a tool that works with kubectl to increase productivity by enabling auto-completion and auto-suggestion. This tool is beneficial for increasing performance within the K8s console by providing in-line documentation along with search and correct commands for wrongly typed items.
Kube-shell Issues
Kube-shell Review
Kube-shell is recommended for those who are not currently using a tool for auto-completion and auto-suggestion along with a search and correct feature. Doing so will save developer time and increase productivity and application performance.
Sources:
32. Kail
Kail is a Kubernetes tool that streams logs from all matched containers and pods. It also filters your pods by various features such as service, deployment, and labels.
Kail Issues
Kail Review
Kail is recommended for anyone who watches logs of any moderately complex application. You can tail Docker logs and automatically add pods to the log if it meets the criteria after a launch. This will simplify the process of streaming logs for all matched containers and pods.
Sources:
Development Tools
33. Telepresence
Telepresence allows you to debug your Kubernetes service locally, easing the process of developing and debugging.
Telepresence Issues
Telepresence Review
Telepresence is inherently beneficial for debugging Kubernetes lusters locally. It is also stated that with Telepresence, Kubernetes counts local code as a normal pod within your cluster.
Sources:
- Telepresence on GitHub
- Developing and Debugging Services Locally
- Telepresence Brings the Kubernetes Cluster to Developer
34. Helm
* Looking for how to integrate Helm with ProGet? It's right here.
Helm helps users manage their Kubernetes applications via Helm Charts that allow you to share your application. This enables users to create reproducible builds that can be shared.
Helm Issues
Helm Review
Helm is beneficial for managing Kubernetes charts and streamlining installation and managing Kubernetes applications. However, Helm is not recommended for more advanced and frequent deployments.
Sources:
35. Keel
Keel automatically updates Kubernetes workloads as soon as a new application version is available in the repository. This allows users to get back to focusing on writing code and testing their applications.
Keel Issues
Keel Review
Those who are looking to automate their Kubernetes deployment updates should look into Keel. This tool will help shift focus from updating workloads to focusing on their code and testing.
Sources:
36. Apollo
Apollo is a Continuous Deployment (CD) solution that provides a self-service UI for teams. This tool can integrate with existing build processes that may already be in place and also has flexibility with permissions. This allows teams to manage their Kubernetes clusters by giving each user specific permissions to ensure that deployments are safe.
Apollo Issues
Apollo Review
If organizations are looking for a tool to help them implement Continuous Deployment (CD), Apollo is certainly worth considering. However, it is important to keep in mind that moving to CD takes time and is a tedious process.
Sources:
37. Draft
Draft is an open source tool provided by Azure that makes building applications that run on Kubernetes easier for developers. This is done by targeting the “inner loop” of a developer’s workflow which speeds up the change verification process.
Draft Issues
Draft Review
Draft encourages teams to build on top of Kubernetes without added complexity. It is also an open-source tool. With that being said, teams who are pro open-source and want to ease their build process should check out Draft.
Sources:
- Draft on GitHub
- Draft: Kubernetes Container Development Made Easy
- Use Draft with Azure Kubernetes Service (AKS)
38. Deis Workflow
Deis Workflow is an open source Platform as a Service tool that makes deployments and application management easier on developers. With Deis Workflow, developers can create additional abstraction layers on top of their Kubernetes clusters.
Deis Workflow Issues
Deis Workflow Review
Users of Deis Workflow state that the tool has been beneficial to their deployment process. This tool covers all the basics of deployment and management, making the lives of developers less complicated.
Sources:
39. Kel
Kel is an open source Platform as a Service tool created by Eldarion that focuses on the lifecycle of an application and how developers work across it. Using two layers written in Python and Go on in addition to Kubernetes, developers can manage their application infrastructure and deploy on K8s.
Kel Issues
Kel Review
The benefits of using Kel is that it gets technology out to audiences faster and it also draws a community to help expand Kel.
Sources:
- Kel on GitHub
- Eldarion Launches Open Source Kel Project on Top of Kubernetes
- Kubernetes-Powered PaaS Focuses on DevOps
Continuous Integration/Continuous Delivery Pipeline
40. Cloud 66
Cloud 66 is a DevOps toolchain that can minimize time and allow developers to focus on the development of their applications. Since the platform offers specialized DevOps tools, developers are able to manage their Kubernetes workloads and configurations as well. Cloud 66 enables end-to-end infrastructure management on any cloud or server.
Cloud 66 Issues
Cloud 66 Review
Cloud 66 puts web-scale ops into the hands of developers. It’s also appealing that the platform has multiple integrations as well. However, the platform would benefit from looking into further integrations with select cloud hosting providers.
Sources:
Serverless/Function Tools
41. Kubeless
Kubeless is an open source Kubernetes-native serverless framework that lets you deploy small bits of code without worrying about the underlying infrastructure. Supporting most of the popular languages, Kubeless allows you to edit and deploy Kubeless functions in real-time.
Kubeless Issues
Kubeless Review
Reviews argue the effect as to whether or not Kubeless is truly serverless. Thus, it has been known to be a faux serverless tool. However, Kubeless does support most modern languages and is recommended if you have a specific use where Kubeless can be of help.
Sources:
42. Fission
Fission is another open source Kubernetes-native serverless framework. Similar to Kubeless, Fission focuses on developer productivity and high performance by allowing you to code in any language and deploy it on your K8s clusters.
Fission Issues
Fission Review
Fission is a more popular than Kubeless because of its features and ability to code in any language. While it is not at the same scale as AWS Lambda, Fission does embrace the serverless concept.
Sources:
- Fission on GitHub
- What is Serverless — Part 4: Fission — An Open Source Serverless Framework for Kubernetes
43. Funktion
Funktion is an open source event-driven lambda-style programming model for Kubernetes. This allows developers to focus on writing funktions while Kubernetes takes care of the rest so you don’t have to worry.
Funktion Issues
Funktion Review
Funktion is an effective approach for those who are serverless to manage their microservices. If you are serverless or considering it, check out this tool.
Sources:
44. IronFunction
IronFunction is a Function as a Service platform that you can run anywhere. Using this tool, developers can just upload their code while the platform deals with the infrastructure and they can simplify their coding as well. The tool also promotes efficient use of resources and makes it easier to manage and scale.
IronFunction Issues
IronFunction Review
IronFunction is very attractive to cloud-based organizations. However, there are still concerns regarding the overall security of cloud storage.
Sources:
- IronFunction on GitHub
- Iron.io’s Open Source Serverless Platform, IronFunctions, Redefines the Hybrid Cloud
- Securing Serverless
45. OpenWhisk
OpenWhisk is an open source Function as a Service platform driven by IBM and Adobe. It can be deployed in the cloud or on premise, and is designed to run functions against external triggers by a design to act as an asynchronous and loosely coupled execution environment.
OpenWhisk Issues
OpenWhisk Review
OpenWhisk has a robust architecture and design that is a highly recommended open source product.
Sources:
46. OpenFaaS
OpenFaaS provides a framework to build serverless Kubernetes functions and focus on metrics. You can also package any process within a function as well. This enables you to consume a range of web events without repetitive coding or other routine action.
OpenFaaS Issues
OpenFaaS Review
OpenFaaS provides a higher degree of customizability compared to AWS Lambda. Users can write their code in any language and can override the could timeout for as long as they want. Another attractive component is that the platform is licensed under MIT.
Sources:
- OpenFaas on GitHub
- Deployment Guide for Kubernetes
- What Is OpenFaaS and How Can It Drive Innovation?
47. Nuclio
Nuclio is a serverless project that allows you to use it as a standalone Docker container or even on top of another Kubernetes cluster. Nuclio is designed to proceed with high-performance events and large amounts of data. It also provides real-time data processing with minimum overhead.
Nuclio Issues
Nuclio Review
Nuclio supports multiple platforms and languages, and sets itself apart from other tools by allowing you to tailor the execution environment.
Sources:
48. Virtual-Kubelet
Virtual-Kubelet is an open source Kubernetes Kubelet implementation. This tool runs inside a container within your current cluster and disguises itself as a node. From there, it monitors scheduled pods in the way a real Kubelet does.
Virtual-Kubelet Issues
Virtual-Kubelet Review
Virtual-Kubelet is going to be beneficial for those who are serverless, have CI/CD in place, and who do batch jobs. There is an active community that continuously provides feedback and addresses issues.
Sources:
49. Fn Project
Fn Project is an open source, container native, serverless platform that can be run either in the cloud or on premise. Fn Project is easy to use and supports every programming language.
Fn Project Issues
Fn Project Review
Fn Project is beneficial to cloud-agnostic developers. It can be run almost everywhere and supports multiple languages. Fn Project is Docker native and easy to use for developers and easy to managem for operators.
Sources:
Native Service Discovery
50. CoreDNS
CoreDNS is a DNS set of plugins written in Go that can replace the default Kube-DNS with additional Kubernetes plugins. CoreDNS is a Cloud Native Computing Foundation graduated project.
CoreDNS Issues
CoreDNS Review
CoreDNS has a very active community on GitHub and Slack. Those who use CoreDNS like the speed of the service for their microservices and how the DNS plugin listens for DNS requests.
Sources:
Conclusion
Inedo DevOps tools maximize developer time, minimize release risk, and empower stakeholders to bring their vision to life faster. All with the people and technology you have right now. To get help streamlining your CI/CD processes, contact us at mgoulis@inedo.com.
Or, to learn more about how Inedo can help you with Kubernetes and other DevOps tools and processes, subscribe to our blog.