Kubernetes, the container orchestration tool originally developed by Google, has become a vital resource for Agile and DevOps teams. As an open source tool, Kubernetes is becoming an ecosystem in itself, with other tools being developed to support it. Some of these extensions are coming straight from Kubernetes, while others are open source projects in their own right.
Kubernetes provides a list of native and open source tools on their website, but we thought it’d be useful to explore each tool in more depth. Some of these tools are preferred by Kubernetes beginners, while others should be saved until you develop a strong working knowledge of the system.
When you’re ready to try and implement these tools, Kubernetes provides extensive documentation to help you through it. We link to all of the relevant pages in the guide.
Ready to upgrade your Kubernetes life? Then let’s roll.
Kubeadm is the command line tool that enables you to easily provision a secure Kubernetes cluster on top of either a physical server, cloud server, or virtual machine. This allows you to bootstrap a Kubernetes cluster in an easy and secure way. The clusters created by Kubeadm are designed to pass the Kubernetes Conformance tests.
Kubeadm was designed for both new users to play around with and gain a better understanding of Kubernetes, and for existing users to test applications and easily create clusters. It’s great for testing the efficacy of Kubernetes clusters, while giving teams the scalability they need if (or when) they decide to adopt it.
Kubectl is the command line tool for Kubernetes that controls the Kubernetes cluster manager. Under Kubectl, there are several subcommands for more precise cluster management control, such as converting files between different API versions, or executing container commands. The full list of subcommands can be found here.
Another useful command line tool from Kubernetes is the Kubefed command. This tool helps you administrate your federated clusters. With Kubefed, you are able to deploy new Kubernetes cluster federation control planes. You can also add clusters to, remove clusters from, a pre-existing federation control plane. This tool is only available in Kubernetes version 1.5 and up.
Refer to this guide to get your cluster federation up and running with Kubefed.
Minikube is the ideal Kubernetes tool for development and testing. It’s also another great tool for users just getting started on Kubernetes. Minikube makes it easy to run a single-node Kubernetes cluster locally for development and testing. There are plenty of Kubernetes features supported on Minikube, including DNS, NodePorts, ConfigMaps and Secrets, Dashboards, Container Runtime (Docker, rkt, and CRI-O), enabling CNI’s, and ingress.
Enabling Minikube is a simple process. Follow this step-by-step guide for a quick and easy installation.
Kubernetes Dashboard is an incredibly useful tool for cluster management. From the web-based dashboard, you can deploy and troubleshoot your containerized applications into a Kubernetes cluster. Once deployed, you can manage the cluster in its entirety, along with all its resources.
Once up and running, Dashboard gives you an overarching view of all of your running applications. You can also modify any individual Kubernetes resources. These resources can be DaemonSets, Deployments, Jobs, or any other resource you have going.
In the same way Retrace gives you a clear picture of your application, Dashboard provides you with a look at all of your Kubernetes resources and identifies any errors that may have occurred.
Third-party Kubernetes tools are not created by Kubernetes itself, but still enjoy a thriving community of passionate open source developers. These tools are recognized by Kubernetes on their website, so it’s safe to trust them as much as Kubernetes does.
Helm is the ideal tool used for managing Kubernetes charts. Kubernetes charts are packages of preconfigured Kubernetes resources. These charts have two things: a description of the package, and one or more templates that contain Kubernetes manifest files. Essentially, Helm streamlines installing and managing your Kubernetes applications.
Helm has a ton of valuable features that help DevOps teams run their Kubernetes applications smoothly. You can find and use popular software packaged as official Kubernetes charts. Some of the charts can be found on Kubeapps. You can even create builds and share your own applications as Kubernetes charts for others to use.
Kompose is a great tool for developers experienced in container management, but unfamiliar with Kubernetes. If you’re experienced with containers, chances are you’re experienced with Docker Compose. Kompose allows users to seamlessly transition their Compose files and applications into Kubernetes objects with just one command click.
Transferring your Docker Compose files to Kubernetes resources may not be completely exact, so be sure to double-check after the transfer. Even still, transferring using Kompose is a tremendous help for Docker Compose veterans.
Kubernetes plays an integral role in the containers and microservices ecosystem. It gives you the ability to connect and manage as many containers as you need, all the while developing a more agile, secure application.
These tools are just the beginning of a vibrant, powerful ecosystem around the Kubernetes system. As more developers adopt containers and Kubernetes, expect to find more and more tools that expand their capabilities.
At Stackify, we’re going all in on containers, microservices, and continuous delivery in 2018. Subscribe to the blog to get all the latest posts on your favorite developer subjects.