Sudipta Deb

Sudipta Deb

Founder of Technical Potpourri, Co-Founder of Shrey Tech, Enterprise Cloud Architect

Welcome to the world of Kubernetes, where the orchestration of containers meets scalability, resilience, and efficiency. In today’s tech landscape, where agility and scalability are paramount, Kubernetes emerges as a cornerstone technology, revolutionizing the way we deploy, manage, and scale containerized applications.

Quick Introduction

At its core, Kubernetes is an open-source platform designed to automate the deployment, scaling, and management of containerized applications. Originally developed by Google and now maintained by the Cloud Native Computing Foundation (CNCF), Kubernetes provides a robust infrastructure for orchestrating containers at scale, regardless of the underlying infrastructure.

Imagine you have a fleet of containers, each containing a specific component of your application. Now, picture Kubernetes as the conductor of an orchestra, seamlessly coordinating these containers, ensuring they run efficiently, and dynamically adjusting their placement and resources based on demand.

Here’s are my 5 favourite open-source GitHub projects to help you in your Kubernetes journey:

Minikube

Minikube is a tool that enables you to run Kubernetes clusters locally on your machine. It’s designed to make it easy for developers to experiment with Kubernetes or to develop applications that will eventually be deployed on Kubernetes clusters. Minikube is a valuable tool for developers looking to gain hands-on experience with Kubernetes or for teams wanting to streamline the development and testing of Kubernetes-based applications in a local environment. It provides a lightweight and convenient way to run Kubernetes clusters locally, helping to accelerate the development and deployment of containerized applications.

Link: https://github.com/kubernetes/minikube

kube-state-metrics

kube-state-metrics (KSM) is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects. (See examples in the Metrics section below.) It is not focused on the health of the individual Kubernetes components, but rather on the health of the various objects inside, such as deployments, nodes and pods.

kube-state-metrics is about generating metrics from Kubernetes API objects without modification. This ensures that features provided by kube-state-metrics have the same grade of stability as the Kubernetes API objects themselves. In turn, this means that kube-state-metrics in certain situations may not show the exact same values as kubectl, as kubectl applies certain heuristics to display comprehensible messages. kube-state-metrics exposes raw data unmodified from the Kubernetes API, this way users have all the data they require and perform heuristics as they see fit.

Link: https://github.com/kubernetes/kube-state-metrics

Kubernetes Dashboard

Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself.

As of version 7.0.0, we have dropped support for Manifest-based installation. Only Helm-based installation is supported now. Due to multi-container setup and hard dependency on Kong gateway API proxy it would not be feasible to easily support Manifest-based installation.

Additionally, we have changed the versioning scheme and dropped appVersion from Helm chart. It is because, with a multi-container setup, every module is now versioned separately. Helm chart version can be considered an app version now.

Link: https://github.com/kubernetes/dashboard

Kubespray

Kubespray is an open-source project designed to facilitate the deployment, scaling, and management of Kubernetes clusters. It is built on top of Ansible, a popular configuration management and automation tool, and provides a set of Ansible playbooks to automate the installation and configuration of Kubernetes across multiple nodes.

Link: https://github.com/kubernetes-sigs/kubespray

Popeye

Popeye is an open-source tool designed to analyze Kubernetes cluster configurations and provide insights into potential issues, security vulnerabilities, and best practices. It performs static analysis on Kubernetes YAML files or live clusters and generates reports highlighting areas where the cluster configuration may deviate from recommended practices or expose security risks.

Link: https://github.com/derailed/popeye

Conclusion

I hope this list of open source project will help you in your Kubernetes journey. I will be sharing more contents around Kubernetes in near future in my blog and also in my youtube channel – technical potpourri. So let’s be connected. 

Disclaimer

This article is not endorsed by Salesforce, Google, or any other company in any way. I shared my knowledge on this topic in this blog post. Please always refer to Official Documentation for the latest information.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *