Kubernetes is complex to learn, deploy and manage. But it is also a powerful container orchestration engine for automating deployment, scaling and management of containerized application. So the way forward is to make Kubernetes easier.
Here's a list of 7 open-source GitHub projects to help you in your Kubernetes journey:
⭐ Github stars: 23.4k
Most of us know this one. Minikube implements a local Kubernetes cluster on macOS, Linux, and Windows for you to practice and learn.
minikube
minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. minikube's primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit.
minikube runs the latest stable release of Kubernetes, with support for standard Kubernetes features like:
minikube tunnel
minikube start -p <name>
minikube service
minikube dashboard
minikube start --container-runtime
As well as developer-friendly features:
For more information, see the official minikube website
See the Getting Started Guide
📣 Please fill out our fast 5-question survey so that we can learn how & why…
⭐ Github stars: 3.6k
kube-state-metrics (KSM) is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects. It exposes raw data unmodified from the Kubernetes API. You can use it to monitor details like state of nodes, pods and jobs.
Overview
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.
The metrics are exported on the HTTP endpoint /metrics
on…
⭐ Github stars: 10.9k
Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters provided by Kubernetes. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself.
To deploy Dashboard, execute following command:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
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.
IMPORTANT: Read the Access Control guide before performing any further steps. The default Dashboard deployment contains a minimal set of RBAC privileges needed to run.
To deploy Dashboard, execute following command:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
Alternatively, you can install Dashboard using Helm as described at https://artifacthub.io/packages/helm/k8s-dashboard/kubernetes-dashboard
.
To access Dashboard from your local workstation you must create a secure channel to your Kubernetes cluster. Run the following command:
kubectl proxy
Now access Dashboard at:
To find out how to create sample user and log in follow Creating sample user guide.
NOTE:
⭐ Github stars: 13.8k
KOPS stands for Kubernetes operations, an open-source project used to set up production-ready Kubernetes clusters very easily and quickly. It can help you create, destroy, upgrade and Kubernetes cluster, and can also provision the necessary cloud infrastructure.
kOps - Kubernetes Operations
The easiest way to get a production grade Kubernetes cluster up and running.
We like to think of it as kubectl
for clusters.
kops
will not only help you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.
AWS (Amazon Web Services) is currently officially supported, with DigitalOcean, GCE, and OpenStack in beta support, and Azure and AliCloud in alpha.
See Getting Started
Documentation is in the /docs
directory, and can be seen at kops.sigs.k8s.io.
See Contributing
kOps maintainers set aside one hour every other week for public office hours. This time is used to gather with…
⭐ Github stars: 11.9k
Kubespray is used for Kubernetes cluster lifecycle management. It works with public cloud, on-premises, bare-metal, and test environment solutions.
Deploy a Production Ready Kubernetes Cluster
If you have questions, check the documentation at kubespray.io and join us on the kubernetes slack, channel #kubespray You can get your invite here
To deploy the cluster you can use :
# Install dependencies from ``requirements.txt``
sudo pip3 install -r requirements.txt
# Copy ``inventory/sample`` as ``inventory/mycluster``
cp -rfp inventory/sample inventory/mycluster
# Update Ansible inventory file with inventory builder
declare -a IPS=(10.10.1.3 10.10.1.4 10.10.1.5)
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
# Review and change parameters under ``inventory/mycluster/group_vars``
cat inventory/mycluster/group_vars/all/all.yml
cat inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml
# …
⭐ Github stars: 15.5k
K9s provides a terminal UI to interact with your Kubernetes clusters. It makes it easier to navigate, observe and manage your applications with the terminal.
K9s provides a terminal UI to interact with your Kubernetes clusters The aim of this project is to make it easier to navigate, observe and manage your applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources.
As you may know k9s is not pimped out by a big corporation with deep pockets. It is a complex OSS project that demands a lot of my time to maintain and support. K9s will always remain OSS and therefore free! That said if you feel, k9s makes your day to day Kubernetes journey a tad brighter, please consider sponsoring us or purchase a K9sAlpha license. Your donations will go a long way in keeping our servers lights on and beers in our fridge!
Thank you!
Please refer to our…
⭐ Github stars: 3.3k
Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It is a readonly tool, it does not alter any of your Kubernetes resources.
Popeye - A Kubernetes Cluster Sanitizer
Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what's deployed and not what's sitting on disk. By scanning your cluster, it detects misconfigurations and helps you to ensure that best practices are in place, thus preventing future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity.
Popeye is a readonly tool, it does not alter any of your Kubernetes resources in any way!
Popeye is available on Linux, OSX and Windows platforms.
Binaries for Linux, Windows and Mac are available as tarballs in the release page.
For OSX/Unit using Homebrew/LinuxBrew
brew install…
I hope you enjoyed this list. I will be coming up with more such amazing resources soon.
This blog post was originally published at: Source