You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 20, 2022. It is now read-only.
Purser is an extension to Kubernetes tasked at providing an insight into cluster topology, costing, capacity allocations and resource interactions along with the provision of logical grouping of resources for Kubernetes based cloud native applications in a cloud neutral manner, with the focus on catering to a multitude of users ranging from Sys Admins, to DevOps to Developers.
It comprises of three components: a controller, a plugin and a UI dashboard.
The controller component deployed inside the cluster watches for K8s native and custom resources associated with the application, thereby, periodically building not just an inventory but also performing discovery by generating and storing the interactions among the resources such as containers, pods and services.
The plugin component is a CLI tool interfacing with the kubectl that helps query costs, savings defined at a level of control of the application level components rather than at the infrastructure level.
The UI dashboard is a robust application that renders the Purser UI for providing visual representation to the complete cluster metrics in a single pane of glass.
Features
Purser with its robust CLI and UI capabilities provides a set of features including, but not limited to the list below.
Capability to provide visibility into the following aspects of the K8s cluster
workload cost associated with the native/custom resources
savings opportunities associated with storage and compute requirements
single pane view of the complete cluster hierarchy
capacity allocations for CPU, memory, disk space and other resources
interactions among associated resources such as pods and services
Capability of user defined logical grouping of resources based on K8s CRD implementation for enhanced filtering.
A plugin extension to kubectl along with the UI for developer centric usage.
Capability to subscribe to inventory changes via web-hook implementation.
UI Demo
CLI Demo
Setup and Installation
Prerequisites
Kubernetes version 1.9 or greater.
kubectl installed and configured. For details see here.
curl https://raw.githubusercontent.com/vmware/purser/master/build/purser-setup.sh -O && sh purser-setup.sh
NOTE: If you want to try out purser on minikube, you can do the following steps instead.
curl https://raw.githubusercontent.com/vmware/purser/master/build/purser-minimal-setup.sh -O && sh purser-minimal-setup.sh
# Wait for containers to start, around 30s# Open Purser in browser
minikube service purser-ui -n purser