Octant: VMware’s Web UI for Kubernetes Clusters

A bit of background first:

Kubernetes adoption is constantly growing among enterprise customers. The number of developer teams working on this technology is expanding by a large number. The technology is remarkable in itself with a lot of developers seeing the value it brings to the table, which explains why it is growing in popularity among the DevOps community. When I started my Kubernetes Journey a few months ago, I got a first-hand experience of why.

Container technology, for a while now, has changed the way developers provision and consume infrastructure. Kubernetes makes it a lot simpler to orchestrate and automate the containers that form the application components.

While Kubernetes is clearly helping developers innovate faster, is it doing the same for IT administrators and operators? Admins and operators for a long time have used products with UIs to deploy infrastructure that the developers consume to build their applications. Now, if administrators have to provide infrastructure to the developers based on Kubernetes, they will have to learn the ways of interacting with the underlying infrastructure to meet their consumers’ needs.

VMware for the last two years has been trying to address this exact issue. They are constantly innovating with projects like PKS and now with the Tanzu portfolio, they have been successful in bridging the gap between developers and IT operators.

What is Octant?

VMware’s open-source project Octant under the Tanzu portfolio is another step in that direction. It provides exactly what an IT operator needs. A developer-centric web UI for developers and IT operators to gain visibility into the resources that they or anyone else in their teams have deployed using Kubernetes.

Octant provides a clean HTML UI based on Clarity design project that is standard across all VMware products. It is a highly extensible platform for developers to gain visibility and better understand the complexity of Kubernetes clusters and the objects that are deployed using the kubectl commands.

Kubernetes provides a platform to developers to deploy applications but it mostly only makes sense to the developer who deployed it and not for someone else who is responsible for taking care of it.

The Octant tool provides a view into Kubernetes objects that are created using the kubectl commands. It provides a visual representation of your pods, deployments, replica sets, secrets, configmaps, and the list goes on and on.

Why Octant?

Some of the features that make Octant a powerful tool:

1) Filter based on labels across an application if the labeling is done correctly across the application deployment

2) A resource viewer that provides a great level of visibility into the dependencies and relationships with different components inside an application.

3) Real-time updates as and when the changes are made on the resources using Kubectl commands (for functionality that is still not covered under Octant)

4) if there are issues with the deployments or any other configuration in the Kubernetes cluster

5) YAML access to resources with real-time edits

6) A terminal for the pods that can be used to execute commands on the containers present in the pod

And many more cool features I’m yet to explore.

How will Octant help IT operators and developers?

If you are not already convinced that this is a great addition to the developer toolkit and a tool that can be used by IT operators to visualize what is deployed into a Kubernetes cluster, here are some points that could change your mind.

  • It can be a very good tool for people like me who easily forget what they deployed and spend a lot of time troubleshooting silly issues
  • It can be used for grouping applications and get a graphical view of what components make up the application – Resource Viewer is awesome.
  • It can be used by the IT operators to understand what went wrong when a developer complains that something’s not working.
  • It works as a command-line alternative for some of the tasks that Octant currently supports like executing commands on the container in pods, editing the YAML files when there is a config issue, etc.

What’s next?

In my next blog post, I will be covering the deployment steps involved in getting Octant up and running for both a minikube deployment and a clustered Kubernetes deployment using Tanzu Kubernetes Grid (TKG).

Leave a Reply