1. LENS 란?

LENS는 쿠버네티스를 모니터링 및 관리 개발할 수 있은 IDE이다. 기존의 쿠버네티스 대시보드가 localhost만 가능한 반면 LENS는 연결만 하면 원격의 K8S 클러스터도 같이 모니터링 할 수 있다.
(물론 프로덕션 환경의 경우 프로메테우스등을 쓰겠지만 로컬에서 개발할 경우 꽤 괜찮은 도구이지 싶다)

2. LENS 설치

https://k8slens.dev/index.html 로 접속한다.

우측 상단의 Download 메뉴를 클릭한다.

 

깃허브 페이지로 리다이렉트 된다.

메뉴에서 Download를 찾아 본인의 플랫폼 (Mac, Windows, Linux)에 맞게 선택하여 다운로드 하여 설치한다.

 

3. 사용 방법

사용방법은 홈페이지의 Demo 메뉴를 봐도 충분하나 여기서 간략히 설명하고 넘어가도록 한다.

시나리오) Docker for Desktop의 Kubernetes 클러스터 등록

전제사항으로 로컬에 Docker for Desktop이 설치되어 있고 K8S가 Enable되어 있어야 한다 (Docker for Desktop에 내장됨)

상단에 Kubernetes is running이 되어 있어야 한다.

 

 

 

 

 

 

 

 

 

 

 

이제 LENS를 열어보자 

  • 좌측의 +메뉴가 클러스터를 추가하는 메뉴다. (필자는 이미 Docker for Desktop을 연결했다)

새로 Docker for Desktop K8S 클러스터를 연결한다고 가정하고 수행해 보자.

좌측의 + 메뉴를 클릭한다.

  • Add Cluster 메뉴로 전환되며 config 선택하는 창이 나온다.
    • docker-for-desktop: 로컬 환경에서 설치한 docker-for-desktop 환경을 말한다.
    • minikube: minikube 셋업시 활용할 수 있다.
    • Custom: 다른 클러스터(클라우드 또는 온프레미스)를 연결할 수 있다.

여기서 우리는 docker-for-desktop을 선택하고 [Add Cluster]메뉴를 클릭해 클러스터를 추가한다.

 

4. Metric 수집 위한 세팅

노드 (우리는 로컬이니 하나이지만)의 CPU 및 메모리 지표를 보려면 추가 세팅이 필요하다.

추가된 클러스터에 오른쪽 마우스 클릭 -> Settings 메뉴를 클릭한다.

메트릭 설정

추가된 메뉴를 보면 메트릭 설정이 있는데 [Install] 버튼을 눌러 설치한다.

(Prometheus stack을 설치하는 것임, 필자는 미리 설치했기에 Uninstall로 보인다.)

 

5. Metric 확인

클러스터의 [클러스터] 메뉴를 클릭해보자

  • CPU정보, 메모리 정보, Pod에 대한 내용이 시각적으로 아주 잘 나온다.

클러스터의 Workloads를 클릭 -> Pods를 확인한다.

아직 배포한 Pod가 없기 때문에 아무것도 보이지 않는다.

이제 간단한 앱을 배포하고 확인해보자. (Hello world를 출력하는 간단한 go 프로그램이다. 다만 무한히 출력하므로 로드를 증가시킨다.)

필자는 Skaffold라는 툴을 이용해서 간단한 go 어플리케이션을 배포해 볼 것이다.

해당 사용법은 Skaffold로 로컬 K8S 쉽게 배포하기 에서 확인해보자

pod를 Skaffold로 배포한다.

 

자 Pods를 확인해보자.

  • Gettings Started 라는 이름의 Pod 1개가 Running 상태임을 확인할 수 있다.

Pod를 클릭하면 우측에 상세 지표가 조회된다.

CPU 사용률이 치솟고 있다.

 

메모리 사용량도 올라간다.

Pod를 제거하여 실습을 마무리 한다.

 

6. 정리

LENS는 쿠버네티스 활용시 정말 유용한 도구다.

컨테이너로 인해서 개발자가 로컬환경에서는 잘되는되요 라는 변명을 더이상 할 수 없는 시대가 되었으므로 우리는 빠르게 배포하고 테스트 할  수 있는 도구를 활용해 고통에서 벗어나자!

+ Recent posts