Greetings from sunny San Diego, CA! Kubecon North America 2019 is about to start and we are excited to announce version 2.6 of Kontena Lens - the smart dashboard for Kubernetes - is now available. Like always, we wanted to address some of the most requested features and improvements of our users.

Maybe the most exciting new feature of Kontena Lens 2.6 is the UI for custom resource definitions ("CRDs"). We feel it's very cool! In addition, we added support for Microsoft Azure AKS clusters with Azure Active Directory ("AAD") code flow, improvements to cluster authentication, display cluster notification badges plus a bunch of other minor features and fixes. We hope you enjoy!

Custom Resource Definitions

A resource is an endpoint in the Kubernetes API that stores a collection of API objects of a certain kind. For example, the built-in pods resource contains a collection of Pod objects.

One of the premises of Kubernetes is the extensibility of the system. The most used way to extend the cluster functionality is with Custom Resource Definitions, CRDs for short. With CRD you can define new object types for the API and usually there is some sort of operator deployed into the cluster which understands these new types. You can for example define new resource types for PostgreSQL clusters which will allow you to manage your PostgreSQL in Kubernetes “native” way via Kubernetes API. Working with CRDs has been one of the most requested features for Kontena Lens and now we’re happy to bring the first version of support for CRDs.

In Lens we dynamically discover all the CRD types in the cluster API and show the CRD groups and types as easily navigable menu. This allows you to quickly and easily find the custom resources you are interested in. You can naturally also see all the CRD definition objects so you can dig into the definition details.

Screenshot-2019-11-17-at-11.07.42

Once you navigate to specific CRD object type, Lens shows you the list of those kind of objects. We automatically discover whether or not those objects are cluster or namespace scoped and automatically we show the namespace etc filters if the objects are namespace scoped.

Screenshot-2019-11-17-at-11.10.06

Following the look & feel throughout Lens you can dig into the object details by selecting it from the list view.

Screenshot-2019-11-17-at-11.09.48

This is just the first version of support for CRDs. We already have tons of ideas for improvements how to make this even better. We are driving the CRD support in the direction where one day you as a user can drop in visualisation components for you own custom resources.

Improvements to Cluster Authentication

Since the release of Lens 2.0 we have seen hundreds of different kubeconfig variations. Some of those variations needed tweaks, some didn't work at all with Lens.

While we managed to fix most of them during 2.0 - 2.5 release cycles, there was always some weird corner case that worked with kubectl but didn't work properly with Lens.

In this release cluster authentication has been rewritten to use same components as kubectl. This change should fix most (all?) of the remaining authentication issues that Lens app had.

Authentication output is also streamed to UI so it's easier to spot and resolve any connection issues with a cluster.

Microsoft Azure AKS with AAD Code Flow

In previous versions Lens app used official Kubernetes JavaScript client which doesn't support Azure AAD authentication at all.

Improvements to authentication mechanism under the hood allows Lens to authentication with Azure AKS and AAD (Azure Active Directory).

AAD authentication prompts user to open a web browser and enter the given code. Once this is done, user can just hit reconnect and Lens should be able to open the dashboard.

Screenshot-2019-11-17-at-10.58.51

While we are discussing now only about Azure AKS with AAD, this mechanism works the same with any authentication that prompts for user interaction.

Cluster Notifications

In this release we built warning events counter on cluster switcher view. The idea is that you can quickly see if there’s anything wonky going on in any of your clusters.

Screenshot-2019-11-17-at-10.57.40

We dig out the information from Kubernetes events API where we filter all “Warning” events and also from Nodes API. We filter those events in a way that e.g. a Pod having multiple types of issues will be counted only as one. The event counter is updated on regular interval, once per 30 seconds currently.

Full Changelog for version 2.6.0

  • More clusters supported; Improvements to cluster authentication
  • User Interface for CRDs (Custom Resource Definitions)
  • Cluster notifications; Display warning events counter on cluster switcher view
  • Support for Microsoft Azure AKS with Azure Active Directory ("AAD") code flow
  • Minor bug fixes

Getting Started with Lens

Kontena Lens desktop application is available for download from Kontena website. It is 100% free of charge. We hope you enjoy!

If you have any feedback, please let us know via Kontena Community slack channel. Join https://slack.kontena.io

What's Next? Meet us at Kubecon to Learn More

So many great things is in the works, stay tuned! Please visit our booth at Kubecon to get sneak peek into some of the features we are currently working on! :)