Monokle 101 - Managing Your Kubernetes Manifests

Feb 25, 2022
6 min
read
Ole Lensmar
CTO
monokle

Managing Kubernetes manifests can be a difficult, time consuming task if you don’t have an easy way to manage them at scale. That is, if you don’t have Monokle.

Share on Twitter
Share on LinkedIn
Share on Reddit
Share on HackerNews
Copy URL

Table of Contents

No items found.

Try Monokle Desktop Today

Managing Kubernetes manifests can be a difficult, time consuming task if you don’t have an easy way to manage them at scale. That is, if you don’t have Monokle

Monokle is an open source desktop tool that takes the grunt work out of working with your Kubernetes manifests, it gives you a high-level view of their contained resources and relationships with the options to edit, refactor, preview, diff, and navigate before deploying them to your clusters. 

And you don’t need more than a working knowledge of YAML to do it.

Monokle’s user interface includes a smörgåsbord (this writer is Swedish...) of components to help you work with your manifests;

  • A resource navigator to help you navigate your resources
  • Intelligent source and form editors for your resource YAMLs
  • Dedicated views and preview functionality for Kustomize and Helm Charts
  • Cluster view and compare functionality
  • Templates to help you get started with new resources
Kubernetes manifest management web dashboard

And so much more!

Getting Started

Upon installing and opening Monokle, you might begin by opening an existing folder containing any number of manifest files. Monokle’s UI is built to help you easily visualize their contained resources and relationships between them. 

getting started with kubernetes manifest

With a simple hover of your cursor you can visualize incoming links and outgoing links to your resources, clicking into any of these links will navigate you to the target resource. 

outgoing link control

Monokle validates all resource links it finds and indicates to the user whether there is an error - making it easy to find - and fix - any invalid links in your set of resources. 

yaml file navigation tool

Beyond links, if you make changes to names, references, or any other line items within your resources source, Monokle will immediately alert you if anything you do is inconsistent with the required syntax or schema.

If you’re not fluent in YAML most resources will have a form-based editor allowing you to make changes to any value in a simple and easy-to-understand format. Those changes are reflected within the source code as you work. 

YAML file form based editor

Working with Kustomize

Monokle has built-in support for Kustomize - allowing you to see all customizations and patch files detected in your folders:

kustomize template integration

An extremely powerful functionality is the possibility to preview a kustomization;  Monokle will run Kustomize and show you all the resources that were generated by Kustomize in the resource navigator - including links, errors and warnings for each resource. You can easily update the kustomization and update your preview to interactively debug and validate the output created by Kustomize before you deploy these to your cluster.

preview deployment view

Working with Helm Charts 

Monokle offers a similar function for Helm - allowing you to visualize your Helm charts and their values files:

helm chart control view

Just like for Kustomize you can preview a Helm Chart which will run Helm in the background and show you the generated resources in the resource navigator:

resource control

You can interactively make changes to your values file and recreate the preview at any time, allowing you to validate the output of Helm before applying it to your cluster.

Connecting to Clusters

Not only does Monokle allow you to work with local manifest files - it also allows you to explore and work with resources in your cluster - including all the link and content validation available for local resources.

Kubernetes cluster connection gui

Since the number of resources in your cluster can be overwhelming, Monokle allows you to filter your resources through different criteria via the central Navigator column. 

resource control form

Another useful tool when working with a cluster is the Diff functionality - allowing you to both compare individual resources to those in your cluster - or you can compare an entire set of resources to see how they differ from those already deployed in your cluster.

minikube settings toggles

In either case, you can easily deploy your local resources after diffing - or replace your local resources with those in your cluster instead.

Creating Resources

While much of the above has been focused on existing resources either locally or in your cluster, Monokle has a number of features to help you create new resources from scratch, including a library of templates that can help you quickly get up and running with simple Kubernetes objects:

cluster resource creation templates

Using a template will prompt you for basic information required to generate the corresponding resources and will result in ready-to-deploy resources that can be deployed to your cluster(s) without any further modifications.

permission based roles

You’re just getting started!

We’ve just scratched the surface of all the functionality provided by Monokle to make your everyday manifest-related tasks easier - check out our documentation to see what else you can do - or download Monokle from GitHub and join our Discord community to ask questions and suggest improvements. 

Thank you!

Related Content