Software tool assisting Kubernetes learning via interactive 3D views

Over the past several years I have been working to create a software tool that can assist in learning Kubernetes. The software is open source using an MIT license.

What I’ve created is called VpK (Visually presented Kubernetes). The software attempts to present Kubernetes in a graphical fashion to aid in learning.

I’ve received several positive comments regarding a unique feature of VpK that displays a cluster in an interactive 3D view. Along with a timelapse feature that builds out the 3D view at each change in the cluster.

Application features include:
• VpK accesses a Kubernetes cluster via an established kubectl CLI and saves query results, called a snapshot, in a local directory.
• The locally stored snapshot can be reused. This snapshot enables disconnected use of VpK to review the K8s resource data. Once a snapshot is created VpK does not require connecting to the K8s cluster to view the collected data.
• An interactive 3D view of the K8s cluster. This view supports zoom, rotate, tilt, and filtering of resources.
• Timelapse view of the 3D cluster to show the sequence of resource creation and removal. The timelapse can be paused and viewed second-by-second along with interacting with the 3D view.
• Schematic views of workloads deployed in the cluster. Interact with the schematic and view detailed resource definitions. Mouse over items and drill down to view detailed resource information.
• View storage defined for the cluster by StorageClass, PV, PVC, CSI, along with node related storage.
• View network IP addresses and address ranges for services, pods, and nodes.
• View defined security roles, bindings, and subjects for the cluster or namespaces.
• View Owner References chains for K8s resources defined in the cluster.
• View event message statistics and timeline.
• View container image repositories and associated images.
• Search K8s resources with the ability to filter by namespaces, kinds, labels, resource names, and annotations.
A documentation web site is also available at: https://k8svisual.github.io/vpk-docs/

The site provides the links to download and install the software. The software is available at the following Github repo: https://github.com/k8svisual/vpk.git

I’m hoping that this software could be of use to anyone learning Kubernetes.

thanks for sharing! it looks very nice! Is there a standard format for the sanpshot? e.g. I would like to also generate the visual for clusters in production where I would prefer to build a snapshot gradually or only for some parts

Diamantis, the software will create the snapshot by performing a series of kubectl get command and saving the output into a file named vpk.snapshot.json. The format of the file is JSON and each resource that is saved is added with a number that is used internally by the software. I’d recommend you create a snapshot of a very simple cluster, minikube, kind, etc. and review the file format.