IT/Kubernetes_k8s

k9s: Kubernetes CLI 대시보드 설정 및 사용법

동구멍폴로 2024. 7. 23. 02:36
반응형

k9s는 Kubernetes 클러스터의 리소스를 관리하기 위한 강력한 CLI 대시보드 도구입니다. k9s는 사용자에게 실시간으로 클러스터의 상태를 모니터링하고, 다양한 작업을 수행할 수 있는 직관적인 인터페이스를 제공합니다. 이 블로그 글에서는 k9s의 설치부터 기본 사용법, 그리고 유용한 커맨드를 소개합니다.

k9s 설치

k9s 설치는 매우 간단합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

MacOS

brew install k9s

Linux

curl -sS https://webinstall.dev/k9s | bash​

Windows

  1. k9s 릴리스 페이지에서 Windows용 바이너리를 다운로드합니다.
  2. 다운로드한 zip 파일을 풀고, k9s.exe 파일을 원하는 위치에 저장합니다.
  3. 환경 변수에 해당 경로를 추가합니다.

k9s 설정

k9s는 기본적으로 kubeconfig 파일을 사용하여 Kubernetes 클러스터에 접근합니다. 설정 파일은 ~/.k9s/config.yml에 저장되며, 사용자 정의를 통해 다양한 설정을 변경할 수 있습니다.

기본 설정 파일 생성

k9s를 처음 실행하면 기본 설정 파일이 생성됩니다. 터미널에 k9s를 입력하여 실행합니다.

sh
코드 복사
k9s

이 명령을 실행하면 k9s가 시작되며, ~/.k9s/config.yml 파일이 자동으로 생성됩니다.

설정 파일 편집

기본 설정 파일을 편집하여 사용자 정의를 할 수 있습니다. 예를 들어, 기본 네임스페이스를 변경하려면 다음과 같이 설정 파일을 수정합니다.

k9s:
  refreshRate: 2
  headless: false
  logger:
    tail: 200
  colors:
    - name: keyword
      fgColor: 202
      bgColor: 235
  namespace:
    active: default
  view:
    active: pods
    filter: ""

위의 예시에서 namespace 섹션의 active 값을 원하는 네임스페이스로 변경하면 됩니다.

k9s 기본 사용법

k9s의 사용법은 매우 직관적이며, 다양한 기능을 제공합니다. 주요 기능과 유용한 커맨드를 살펴보겠습니다.

기본 인터페이스

k9s를 실행하면 기본 인터페이스가 표시됩니다. 인터페이스는 크게 세 부분으로 나뉩니다.

  1. 네비게이션 바: 상단에 위치하며, 현재 선택된 리소스와 네임스페이스를 표시합니다.
  2. 리소스 목록: 중앙에 위치하며, 선택된 리소스의 상세 정보를 표시합니다.
  3. 명령어 입력 창: 하단에 위치하며, 다양한 명령어를 입력할 수 있습니다.

네비게이션

리소스 간 이동은 방향키를 사용합니다. 특정 리소스를 선택하려면 해당 리소스를 선택한 후 Enter 키를 누릅니다.

리소스 필터링

/ 키를 눌러 리소스를 필터링할 수 있습니다. 예를 들어, name=myapp을 입력하면 이름에 myapp이 포함된 리소스만 표시됩니다.

리소스 상세 정보 보기

리소스 목록에서 특정 리소스를 선택한 후 d 키를 누르면 상세 정보를 볼 수 있습니다.

로그 보기

Pod의 로그를 보려면 해당 Pod를 선택한 후 l 키를 누릅니다. 로그는 실시간으로 업데이트되며, Ctrl+c를 눌러 로그 보기 모드를 종료할 수 있습니다.

리소스 삭제

특정 리소스를 삭제하려면 해당 리소스를 선택한 후 Ctrl+d 키를 누릅니다. 삭제를 확인하는 메시지가 표시되며, y 키를 눌러 삭제를 완료합니다.

유용한 커맨드

k9s는 다양한 커맨드를 제공하여 효율적인 클러스터 관리를 지원합니다. 주요 커맨드를 소개합니다.

네임스페이스 변경

:n <namespace>

현재 네임스페이스를 변경합니다. 예를 들어, :n kube-system을 입력하면 kube-system 네임스페이스로 전환됩니다.

리소스 보기

:pods :services :deployments :nodes

특정 리소스를 바로 볼 수 있습니다. 예를 들어, :pods를 입력하면 현재 네임스페이스의 Pod 목록이 표시됩니다.

리소스 상세 정보

:describe <resourceType> <resourceName>

특정 리소스의 상세 정보를 확인합니다. 예를 들어, :describe pod myapp-pod-123을 입력하면 myapp-pod-123 Pod의 상세 정보가 표시됩니다.

포트 포워딩

:pf <resourceType>/<resourceName> <localPort>:<remotePort>

포트 포워딩을 설정합니다. 예를 들어, :pf pod/myapp-pod-123 8080:80을 입력하면 로컬의 8080 포트가 myapp-pod-123 Pod의 80 포트로 포워딩됩니다.

명령 실행

:exec <resourceType>/<resourceName> -- <command>
 

특정 리소스에서 명령을 실행합니다. 예를 들어, :exec pod/myapp-pod-123 -- ls /app을 입력하면 myapp-pod-123 Pod에서 /app 디렉토리의 파일 목록을 확인할 수 있습니다.

리소스 편집

:edit <resourceType> <resourceName>

 

특정 리소스를 편집합니다. 예를 들어, :edit deployment myapp-deploy을 입력하면 myapp-deploy Deployment의 설정 파일을 편집할 수 있습니다.

마무리

이 글에서는 k9s의 설치부터 기본 사용법, 유용한 커맨드까지 자세히 설명했습니다. k9s는 Kubernetes 클러스터를 효율적으로 관리할 수 있는 도구로서, 다양한 기능을 제공하여 사용자의 편의를 돕습니다. k9s를 통해 Kubernetes 클러스터 관리를 더욱 효율적으로 할 수 있기를 바랍니다.

반응형