Talking about containers, I believe you know the kind of enthusiasm, uproar, focus and attention that it has earned itself in the past like five years or so. Organizations have been literally shaken, re-organized and others ruminating about the opportunities, the risks and the challenges that this paradigm of handling infrastructure and business applications will bring on the table. For now, developers, DevOps engineers, operations teams and the blue teamers are busy getting as much as they can in order to gauge the viability of this glittering new trend of containerizing applications.
At the heart of this discussion and paradigm shift, sits the famous names such as Kubernetes, Docker, Podman, OpenShift, containerd, CRI-O, Rancher and the likes. You have had a fair share of them and we believe you have burned the midnight oil to get a grasp of what they are all about.
Today, we introduce another name and player in this vast field that goes by the name Lens that has been dubbed “The Kubernetes IDE “. It has grown in popularity due to its features that has made managing Kubernetes friendly. So what is this Lens?
To keep it simple, Lens is a standalone application for MacOS, Windows and Linux operating systems that helps people have a deeper, better and beautiful look and insight into their Kubernetes clusters. It is the most powerful IDE for people who need to deal with Kubernetes clusters on a daily basis. It helps one ensure that their clusters are properly setup and configured, increase their visibility, get real time statistics, log streams and hands-on troubleshooting capabilities. With Lens, you can work with your clusters more easily and fast, radically improving productivity and the speed of business. The best thing about it is that it is open source and free. And guess what, you can contribute to the this noble project and be part of its beauty.
Features of Lens
Apart from what we have already talked about Lens, here are additional features that it boasts of:
- Multi Cluster Management: Access and work with your clusters with a confidence from a single unified IDE. Lens works with any number of Kubernetes clusters.
- Built-In Prometheus Stats: See all relevant graphs and resource utilization charts integrated as part of the dashboard. Lens comes with a built-in and multi-tenant Prometheus setup that will respect RBAC for each user.
- Context Aware Terminal: The built-in terminal comes with kubectl that is always API compatible with your cluster and in the right context. Lens built-in terminal will ensure the version of Kubernetes cluster API is compatible with the version of kubectl.
- Multiple Workspaces: Organize clusters into logical groups. Workspaces are used to organize a number of clusters into logical groups.
To test and see the capabilities of Lens, we will install k3s on a Linux virtual machine and then connect Lens to it to view metrics and monitor how it is faring. K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances. To start off, let us install k3s on Linux.
Install k3s on Linux (Optional – if you don’t have Kubernetes Cluster)
Run the command below to get k3s downloaded and installed:
$ curl -sfL https://get.k3s.io | sudo sh -
[INFO] Finding release for channel stable
[INFO] Using v1.27.4+k3s1 as release
[INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.27.4+k3s1/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.27.4+k3s1/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Skipping installation of SELinux RPM
[INFO] Skipping /usr/local/bin/kubectl symlink to k3s, command exists in PATH at /usr/bin/kubectl
[INFO] Skipping /usr/local/bin/crictl symlink to k3s, command exists in PATH at /usr/bin/crictl
[INFO] Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
# Warning: iptables-legacy tables present, use iptables-legacy-save to see them
# Warning: ip6tables-legacy tables present, use ip6tables-legacy-save to see them
[INFO] systemd: Starting k3s
Check if the node(s) are okay