 I'm here to talk about my experience with Cube CTL and how Lens, a Kubernetes IDE, changed the way I interact with Kubernetes clusters every day. I'm Avinash Desiree. I work for Morantis as a Solutions Architect and Developer Advocate. I'm responsible for building developer content for Lens community. I run Morantis labs to educate developers on cloud native topics and work with large enterprises to containerize applications, deploy Kubernetes environments, implement DevOps processes, and best practices, and many more. I started my Kubernetes journey with the creation of POD using NGINX Image on Minicube cluster back in 2017 using Cube CTL. Over time, like many others who work with Kubernetes, I used Cube CTL extensively to deploy applications, inspect and manage cluster resources, debug pods, view pod logs, and perform many more operations. For the folks who are not familiar with Cube CTL, it is a command line utility to interact with Kubernetes cluster. It is extremely powerful, but has steep learning curve and many options make it complex for anyone to master or even to get started with it. The term complexity means different for each one of us. So let me break it on further. An object is created using a ML definition and by using Cube CTL create command. As soon as we apply the ML file on the cluster, we wanted to know if the resources are deployed successfully on the cluster. In order to verify that, we'll be using Cube CTL get pods or get and then they describe operations. And if we need to troubleshoot further, we'll be using exec and then the logs operation. And there are several other commands that we will be using in order to troubleshoot. A user will not run these commands once or twice but many times just to see if the deployment is successful or if a specific object is created. So running these commands involves like use of CLI and using copy paste several times in their terminal. Let's consider another scenario where a user wants to list all the parts to identify the reasons for their failure. We have to run this command with several options. And it is not easy to remember or type without a different documentation or using a copy paste option. This is where Lens comes into picture. Lens simplifies the way we work with Kubernetes and provides full situational awareness for everything we run in Kubernetes. It is a desktop application that connects to a cluster using Cube config file. So it is not something that needs to be deployed on the server side. This is a client-side application. I don't have to write Cube CTL get parts or deployments or services and provide additional options in order to sort or filter the output that is presented by Cube CTL. Errors and warnings are highlighted using color coded icons with relevant messages. So a user can focus exactly on them instead of trying to find out where the error was. Being on a customer facing role, I often switch between multiple projects. At times, I don't work with Kubernetes cluster hands on for few months. So it is not easy to remember all the command line options all the time. And it takes time to get up to speed. Lens takes away this burden where I can do all necessary operations seamlessly without going through the documentation or relearn all the commands. So let's look at some features of Lens desktop. First one is the multi-cluster management. I have not seen a single developer using only one cluster all the time. They switch between multiple clusters, which can be a local mini cube cluster or dev environment, test environment, or prod environment. Lens allows users to add multiple clusters and switch between them seamlessly. The built-in metrics and visualization allows a user to look at the resource utilization like CPU, memory, file system usage, number of parts seamlessly in the Lens desktop. The workload overview gives a quick summary of what is in the cluster and their state. So one can focus on specific resources as needed. Context of a terminal, this is my favorite feature. With context of a terminal, user don't have to worry about obtaining compatible CubeCTL client binary from the Internet all the time. Or configure CubeCTL context because Lens does it all for you with the context of a terminal. The resource editor is an inbuilt YAML editor where we can create new resources or modify existing resources directly within Lens. And the HelmChart management gives ability for a user to browse through available HelmChart repositories and access them seamlessly without the need for installing HelmCLI. These are some more features of Lens desktop like quick access to resource description or quick access to pod logs and ability to quickly search for patterns. We can quickly access to the pod shell or using click of a button we can port forward different services or get a summary of events that are happening in the cluster or quickly access node shell. And Lens spaces enables users to securely share the cluster with your colleague without the need to create CubeConfig file. And there are many other features that are not covered here. Feel free to check them out at kateslens.dev. Lens does not stop with standard Kubernetes operations or functionality. Lens also allows you to script or develop your own extensions with the Lens API. A functionality to accelerate development workflows for all the technologies and services that integrate with Kubernetes. For example, by using the community extension like resource map, we can visualize the relationship between different resources in the cluster. All these features helped me extensively as I switched between different kates environments while working with various customers and developers, minimizing the need to go through extensive list of options in Cube CTL. It is open source and takes less than five minutes to get started with. Feel free to check them, feel free to give it a try, connect with the community and let me know your thoughts. I'm available in Slack, Twitter and LinkedIn. Thank you all for joining me and the Linux Foundation team for hosting me here. Thank you.