Lens is Integrated Development Environment (IDE) for Kubernetes (K8S). It plays an instrumental part in running Kubernetes in the world, a true magic that we can say.
It helps in managing your Kubernetes clusters in a much beginner-friendly format which makes it easier even for the one who doesn't know much about Kubernetes and just starting up in the journey.
LensIDE is the FOSS (Free & OpenSource Software) by Mirantis which is the largest and most Advanced Kubernetes platform in the world with more than 700k users every month.
It can run on your local system or on the cloud and help you manage your Kubernetes clusters in deeper detail about your pods, deployments, images, containers and a lot more.
Features -Reason behind its insanely high usage
Free & Open Source Software(FOSS) which makes it accessible to every person irrespective of their experience level.
Most Powerful and advanced IDE in the world for the people who uses Kubernetes clusters daily.
Great Interface with Real-Time Statistics
Really easy to use even for an absolute beginner who doesn't wants to write big-big YAML files or CLI command lines.
Run on your Desktop- Standalone application for MacOS, Windows and Linux. No-time installation & no need to install anything in clusters.
Highly interactive- Shows a lot of information about various minute details and offers their users to manage their Clusters.
Easy Deployment & Integration with Cloud-providers - LensIDE is easy to integrate with cloud providers like Civo, AWS, Microsoft Azure, etc making deployment of applications terrifically easy.
Easy Configuration of our Clusters according to our requirements.
Easy Containerization allows developers to package and deploy their applications and models as container images.
Works with any Kubernetes- Using EKS, AKS, GKE, Minikube, Rancher, k0s, k3s, and OpenShift, they all work by simply importing the kubeconfigs for the clusters you want to work with.
Easy access to all TechStacks & Helm charts management- Lens IDE comes with built-in Helm charts management, allowing quick access to and management of thousands of publicly available Helm charts. Users can browse Helm charts, deploy them with a single click, modify configuration settings (with built-in help), explore installed Helm charts and their revisions, and lifecycle manage Helm deployments with single click upgrades.
High Community Support of LensIDE, an active community of developers who contribute to the open-source project, providing support and sharing best practices.
Let's Get Started
- Let's get started with Lens IDE by just starting with installing suitable versions according to your operating system from their official website and creating an account & then logging into the platform.
Dashboard
Here you can see their entire web link where you can follow them on socials like Twitter, read out their blogs to navigate to their proper usage and a lot more useful links for sure.
Now to access our Clusters we can click on the Clusters section in the left column of our IDE.
Here you would be able to see all the clusters in the dashboard which you made and here you would also be able to see minikube also and other clusters as well as their locations also where their kubeconfig files are located. 'kubeconfig' file allows us to access all our clusters and everything.
Also, we would be able to see 'lens-demo' which is our lens demo that is running on civo.
Civo
Civo is a cloud-native service provider whose mission is to provide companies to host their core application with ease increasing speed, productivity and finally reducing cost. It is just incredibly fast and can launch a cluster within 90 seconds compared to other cloud providers which take about 10-12 minutes and are super efficient and cheap which cost only about $5 a month.
Civo can help you work with multi-node infrastructure in minikube we can only work with a single node(node is generally where clusters are running) but when we will be working with multiple computers at a time then at that time multi noded infrastructure will be needed and thus we will have to use a cloud provider such as civo.
Now as we move into the cluster section and get to enter into one of the clusters we will find the CPU, Memory and Number of Pods running every detail get to enter commands using a built-in terminal and interact with Kubernetes CLI(Command line tool).
Lens-IDE has multi-cluster management by which we can control and manage various different clusters from the same IDE. We can also pin our clusters in the left sidebar as a kind of sidebar named a Hot-bar here which makes it pretty handy as well to work with the multi-clusters in a proper and well-structured dedicated manner according to us & able to switch between different clusters with no efforts.
It also has a feature to switch to some Prometheus by right-clicking to some cluster and going into the settings, where you can also choose to hide some matrices and information from UI like some node, pod, deployment, etc of your choice. We can also look out for namespaces and a lot more features as well.
In Lens IDE when we use an in-built terminal command line in separate clusters like in the case of minikube we will be using minikube then we will see that the GitVersion for both the clusters- minikube and civo environment will be different as in the case of civo cluster, it uses correct cluster API endpoint hence there will be a correct cluster API endpoint in case of civo cluster while for minikube there will be the use of the dedicated downloaded version.
In addition to it, we may think about how it contains the information about all the pods and everything so actually, it read all our kube/config file containing all the info about how will it connect to your cluster which is present in your home directory.
Now in the above picture, we are shown the information about the cluster, and we can also see that in minikube we have only one node so only one cluster is shown in it. We can get all the info on the node present in the cluster and we can also interact with our node by going into the node-shell.
Workloads mean all objects that I m running in a cluster like pods, deployments, demonsets, etc. We can also work with the namespaces as well in the workloads.
By clicking on any of the pods we can get access to a lot of information about CPU, Memory, Networking information, filesystem, time of creation, name, label, Pod IP, Status, Controlled by, Node, Pod Logs & a lot more awesome features.
Configuration section contains a lot more tools and info about our ConfigMaps, Secrets, Resource Quotas, etc . ConfigMaps are basically API Objects which contain non-confidential data in key-value pairs.
Network section contains information about Networking information where we can find info about our kube-DNS, cluster IPs, Ports, type, Session availability, Status and External IP.
Storage section contains info about all the Persistent Volmes, Storage Volumes & their paths, status, memory usage and a lot more features as well.
Namespaces section involves the listing of all namespaces and you can also create your namespace.
Besides these amazing features, the lens also has an Events Section to check out all the events taking place and Access control and various features allowing you to share your access to your Kubernetes clusters with the other developers without worrying about any problematic stuff.
Creating Resources- where Magic happens
So now to create resources which can be Pods, Ingress, Deployment, Roles, RoleBinding, Job and a lot more templates, LensIDE is an amazing tool that can be used to create templates with YAML manifest without any problem saving up a lot of time. Making the use of LensIDE a lot easier for an absolute beginner as well.
To create resources go through these steps:--
At the bottom, we might find out some CLI or logs being opened up easily & a plus(+) sign at the end.
Click on it and select Create Resources out of it.
From the terminal go to Select Template and choose any one which you want to create and edit it according to you.
Now after you are done editing it out click on Create or Create & Close.
You will see a message dropping in the IDEdropping the message static-web is been created.
Thanks for reading! I hope you found this introduction to Go helpful and informative. If you have any questions or comments, feel free to reach out to me on Twitter:
My Twitter Profile: Aryan_2407