It has been only four years since Kubernetes came out in the market and since then there are plethora of tools being released surrounding Kubernetes. Take a look at the CNCF Landscape for more details.
In this article I will share some tools you can use along with Kubernetes to make your life simpler. On thing to note is that this is not a comprehensive list but this is what i have worked with and found out to be useful.
If you want to monitor your Kubernetes Cluster then you can’t find a better tool than Prometheus. You can also monitor your applications by instrumenting them and all the metrics will be sent to Prometheus for monitoring.
You can use Prometheus along with Grafana to visualize all the data. You can select Prometheus as data source in Grafana and design beautiful and informative dashboards that can help you in monitoring your Kubernetes cluster easily.
Github Page: https://github.com/prometheus/prometheus
Helm is a package manager for Kubernetes. Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
Kubernetes can become very complex with all the objects you need to handle ― such as ConfigMaps, services, pods, Persistent Volumes ― in addition to the number of releases you need to manage. These can be managed with Kubernetes Helm, which offers a simple way to package everything into one simple application and advertises what you can configure.
Github Page: https://github.com/helm/helm
Istio makes it easy to create a network of deployed services with load balancing, service-to-service authentication, monitoring, and more, with few or no code changes in service code. It uses Envoy as the service proxy.
When you configure Istio, you get lots of tools preinstalled with Istio like Jaegar for tracing, Prometheus for monitoring, Grafana for visualization. You can also set up EFK(Elasticsearch, Fluentd, Kibana) stack for logging using Istio.
Github Page: https://github.com/istio/istio
Rancher is a great tool for managing multiple Kubernetes Cluster. It addresses the operational and security challenges of managing multiple Kubernetes clusters, while providing DevOps teams with integrated tools for running containerized workloads.
It can easily deploy new clusters from scratch, launch EKS, GKE and AKS clusters, or even import existing Kubernetes clusters.
Github Page: https://github.com/rancher/rancher
Spinnaker was created at Netflix and later open sourced. It is a multi-cloud continuous delivery platform for releasing software changes. It can deploy across multiple cloud providers including AWS, Google, Azure, Openstack etc. It can also do automated releases of your application.
It has lots of integrations like Slack, Jenkins, Prometheus, StackDriver and many more.
Github Page: https://github.com/spinnaker/spinnaker
Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data.
When running multiple services and applications on a Kubernetes cluster, a centralized, cluster-level logging stack can help you quickly sort through and analyze the heavy volume of log data produced by your Pods. You can use Fluentd along with ElasticSearch and Kibana for a centralized logging and auditing solution.
Github Page: https://github.com/fluent/fluentd
If you’re serious about security, you need a secrets management tool that provides a single source of secrets, credentials, and other sensitive information for your organization. Hashicorp Vault is a popular open-source tool that does just that. Vault operates in a client-server model where a central cluster of Vault servers store and maintain secret data, and that data can be accessed by clients through the API, CLI, or web interface.
Instead of sharing credentials across pods and services, Vault allows each service to uniquely authenticate and request their own unique credentials. Furthermore, secrets have a limited scope and lifetime, and they can be revoked early in the event of a data breach.
Github Page: https://github.com/hashicorp/vault
Harbor is an open source cloud native registry that stores, signs, and scans container images for vulnerabilities. It uses Notary and Clair for signing and scanning.
Harbor solves common challenges by delivering trust, compliance, performance, and interoperability. It fills a gap for organizations and applications that cannot use a public or cloud-based registry, or want a consistent experience across clouds.
Github Page: https://github.com/goharbor/harbor
Feel free to leave in the comments section any tool which you think is great with Kubernetes.
Subscribe to my newsletter if you want to learn more about Cloud and related technologies.