Quản lý Kubernetes đỡ vất vả hơn với Lens

Quản lý Kubernetes đỡ vất vả hơn với Lens

February 10, 2023 0 By Nam Vu

Trước đây mình quản lý kubernetes (k8s) qua các các command line như kubectl, sau đó thì dùng kubernetes extension trong visual studio code. Tuy nhiên các công cụ này thường không có giao diện không trực quan hoặc không đầy đủ tính năng cần thiết.

Vài năm gần đây khi được các đàn anh giới thiệu thì mình biết đến Lens.

Lens là một công cụ cung cấp cho chúng ta khá đầy đủ các tính năng làm việc với kubernetes thông qua giao diện và bạn có thể dễ dàng quản lý cũng như làm những tác vụ với k8s một cách mượt mà hơn.

Dưới đây là một vài tính năng mà mình thấy được sau một thời gian sử dụng Lens:

Hỗ trợ đầy đủ các môi trường

Một điều giúp cho Lens được sử dụng rất nhiều bởi mọi người là do Lens có thể chạy trên hầu hết các môi trường khác nhau như Linux, Windows, Mac,.. Không thiết các anh em sử dụng windows là môi trường chính để dev hay làm việc, tuy nhiên các công cụ manage K8s lại thường chỉ support Linux nên Lens sinh ra phiên bản Desktop như là cứu cánh cho anh em sử dụng windows.

Tự động cài đặt metric server

Để có thể kết nối đến K8s Lens sẽ sử dụng kube.config của kubectl và dường như nếu bạn đã config các cluster trong kube config thì Lens sẽ scan hết cấu hình lên cho bạn lựa chọn rồi.

Môt tính năng khá hay của Lens về mặt Cluster là nó cho phép tự động cài metric server để ta có thể giám sát các thông tin về node chỉ qua vài nút click. Để enable tính năng này ta nhấp chuột phải vào tên của node thì bạn có thể vào Settings, sau đó vào Lens Metrics, rồi Enable các metrics mong muốn và nhấn ApplySau khi kích hoạt Lens sẽ tự động cài các ứng dụng ở namespace Lens-metrics.

Các chức năng với Nodes

Trong thanh menu của Lens được chia thành các mục tương ứng với các thành phần trong K8s. Tại mục node là thông tin về các node trong cụm K8s của chúng ta. Ở đây ngoài giám sát các thông tin cơ bản về CPU, Ram, Disk của nodes ta có thể thực hiện exec vào node, edit hay delete node

Các chức năng với Workloads

Tiếp theo ta đến với mục Workloads, ở đây sẽ là các tài nguyên chính của hệ thống chịu trách nhiệm chạy các dịch vụ đó là: Pods, Deployments, DaemonSets, StatefulSets, ReplicaSets, Jobs, CronJobs. Với Lens, nó được thiết kế giao diện của Lens này rất trực quan, nhìn phát biết hệ thống đang có vấn đề gì ở đâu cùng với những thông số monitor khá đầy đủ.

Các chức năng với Pod

Đối với pod ta có thể chỉnh sửa, xóa, chạy shell trong pod và đặc biệt là tính năng xem log của từng container trong pod rất hữu ích trong việc debug và tracing issue.Một tính năng khá hay đó là Forward Port, chỉ với một nút bấm chúng ta đã có thể forward port service này về máy local. Tính năng này siêu hữu dụng trong quá trình debug ứng dụng cũng như nếu máy của bạn cấu hình yếu nhưng vẫn muốn chạy microservice trên local thì bạn có thể mượn các services khác trên server và làm việc cùng với service trên máy bạn để giúp máy tính được nhẹ nhàng hơn.

Các chức năng với Deployment

Đối với các tài nguyên Deployment, DaemonSets, StatefulSets, ReplicaSets ta đều có thể sửa, xóa hay scale thủ công lên số pod mong muốn. 

Các chức năng với Storage

Tại mục này ta sẽ có các thông tin về PVs PVCs, Storage Classes. Ta có thể chỉnh sửa và scale volume một các dễ dàng.

Các chức năng với Network

Tiếp theo đến với Network, đây là mục quản lý các resource về network trong K8s gồm có Services, Endpoints, Ingresses, Network policies, Port Forwarding,…

Trong thực tế khi chạy các ứng dụng kết hợp service với Ingress rất hay gặp các lỗi Ingress không match service, service không match app,… Tuy nhiên khi có giao diện như này ta dễ dàng kiểm tra được Ingress, service có đang match với nhau chuẩn xác hay không trong thông số

Ngoài ra thì Lens cũng hỗ trợ chúng ta nhiều các tính năng khác kể đến như:

– Quản lý Namespace

– Xem các Events (Kubectl get events)

– Cài Helm chart có sẵn với 1 click

– Cấu hình các secret hay các configuration mapping cho service

– Quản lý quyền truy cập (Access Control)

– Quản lý Custom Resource

– Hỗ trợ quản lý K8s theo team

– Ngoài ra Lens vẫn đang được tiếp tục phát triển nên sẽ còn nhiều tính năng mới nữa được release.

Bạn có thể đọc thêm các tính năng khác của Lens tại đây:
https://k8slens.dev

Trên đây là những trải nghiệm của bản thân với Lens khi làm việc với k8s. Hi vọng bài viết có thể giới thiệu cho bạn một công cụ hữu ích.

#ntechdevelopers