“Lens contains everything needed to take control of your Kubernetes clusters”
Lens is an open source IDE for taking control of Kubernetes clusters. We spoke to the developer of Lens, Miska Kaipiainen, to find out about why he created it, what its features are and how to get it.
JAXenter: Hi Miska, how come you developed your own Kubernetes IDE?
Lens will connect to clusters using the credentials and configurations found in the kubeconfig file.
Miska Kaipiainen: Kubernetes will become (if it’s not already) the “OS” for the cloud. People will need to learn this “OS” to be meaningful in the future. We felt using mixed bag of UIs bundled by various K8s vendors or installing/creating your own UIs on top (using various open source UI projects, Grafana etc.) is not an ideal way to experience the future. There is clearly a need for a full K8s IDE that will integrate kubectl with real time cluster state visualization and make the most common actions required for developing, operating, monitoring or debugging apps running on top easily available. Also, since many people are dealing with multiple clusters on their daily work, making it easy to switch context between clusters and group them together in logical groups. All this without the need to necessarily install anything in-cluster.
JAXenter: How does Lens actually work?
Miska Kaipiainen: Lens will connect to clusters using the credentials and configurations found in the kubeconfig file. This file is required for anybody wanting to access their clusters using the kubectl tool so most people have this file already. It will also ensure the connection is secure and Kubernetes RBAC is enforced. Therefore, Lens will only display the stuff the user has access to. The view is 100% real time. It will update automatically if any changes are happening. Logs and cluster events are also streamed in real time.
The Lens built-in terminal is very powerful.
The Lens built-in terminal is very powerful. It is packaged with kubectl that will automatically match the version with the currently selected Kubernetes cluster API. The terminal will also ensure kubectl is always in the right context. The built-in terminal is also used for jumping into pods or machines whenever there is a need (debugging or some other reason).
Lens is a desktop application. It is available for macOS, Windows and Linux operating systems. It contains everything needed to take control of your Kubernetes clusters (including kubectl). Download is available from the Lens website.
JAXenter: What makes Lens different in comparison to other IDEs?
Miska Kaipiainen: Many people seem to enjoy the UI/UX more than some of the competing solutions. Also, it’s very fast to work with.
JAXenter: Are there already any big company supporters?
Miska Kaipiainen: We are not collecting names of our users. There are 3.5k+ stargazers on GitHub making it one of the most popular tools for Kubernetes. Browsing through the list of stargazers might give some idea of the users.
JAXenter: Have you already planned new features for Lens?
The users of this product will determine the future roadmap and features.
Miska Kaipiainen: Yes. At the moment this is a 100% community driven project and the users of this product will determine the future roadmap and features. We are 100% transparent and all ideas and upcoming features are visible on GitHub (issues or PRs). There is a constant flow of new features, improvements (and bug fixes) coming in. Since there is no commercial backing, all the upcoming features are coming from individuals who want to contribute to this project to make life better for all Lens users around the world.
JAXenter: Thank you for the interview!