Tool For k8s (kubectx, kubens, k9s)

Jeongtae Kim·2023년 9월 13일
0

AWS

목록 보기
13/13
post-thumbnail

쿠버네티스 사용에 있어서 복잡한 명령어를 계속 쳐야하기 때문에 불편한 점들이 꽤 있었을 것입니다. 그런 불편한 점들을 조금이라도 해결하고자 오늘은 쿠버네티스 3가지 도구를 소개드리겠습니다.

1. kubectx & kubens

쿠버네티스에서 기본 namespace를 바꾸거나, 다른 클러스터에서 작업하고자 할 때 매번 context 설정을 변경해야 해서 불편했을 것입니다.

kubectx 는 손쉽게 context를 전환시킬 수 있어 여러 개의 클러스터를 관리할 때 유용합니다.
kubens 는 손쉽게 기본 namespace를 바꿀 수 있어 매번 '-n namespace' 를 붙이지 않아도 됩니다.
이 두 가지 도구는 한번에 설치가 가능합니다.

먼저, git 설치가 필요합니다. (Amazon Linux 2023 기준)

sudo yum install -y git

git config --global user.name $USER_NAME
git config --global user.email $USER_EMAIL

이제 git clone을 통해 kubectx & kubens repository를 가져옵시다. 그리고 경로를 입력하지 않고 실행하기 위해 ln 으로 심볼릭 링크를 생성합시다.

sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens

help 옵션을 통해 잘 실행되는지 테스트 해봅시다.

kubectx -h
kubens -h

설치가 완료되었고, 간단한 사용법을 알려드리겠습니다.

kubectx 라고 치면 사용할 수 있는 context들이 나옵니다. 현재 사용하고 있는 context는 노란색으로 표시됩니다.

kubectx (context-name) 라고 치면 해당 context로 전환하게 됩니다.

마찬가지로 kubens 라고 치면 사용할 수 있는 namespace들이 나옵니다. 현재 사용하고 있는 namespace는 노란색으로 표시됩니다.

kubens (namespace-name) 라고 치면 해당 namespace가 기본이 됩니다.

2. k9s

pod 목록 확인하랴... pod log 확인하랴... kubectl 명령어를 계속 입력하면서 조금씩은 불편했을 것입니다. k9s 는 터미널 기반 UI를 통해 kubectl 명령어를 입력하지 않아도 쿠버네티스 리소스들을 관리할 수 있습니다.

먼저, 설치부터 해보겠습니다. curl 을 통해 다운로드하고, 경로를 모두 입력하지 않고 실행하기 위해 PATH에 등록된 위치로 cp 합니다.

curl --silent --location "https://github.com/derailed/k9s/releases/download/v0.27.4/k9s_Linux_amd64.tar.gz" | tar xz -C /tmp
sudo cp /tmp/k9s /usr/local/bin
sudo cp /tmp/k9s /usr/bin

설치가 잘 됐는지 확인하기 위해 버전 확인을 해보겠습니다.

k9s version

설치가 잘 됐습니다. 간단하게 k9s 라고 치면 UI가 나타납니다.

보이는 대로 숫자를 누르면 해당 namespace에 있는 리소스들을 볼 수 있습니다.

:node , :deployment 같이 :를 누르고 뒤에 리소스 이름을 입력하고 엔터를 눌러 해당 리소스들을 볼 수 있습니다.

해당 키들을 입력하면 리소스를 자유롭게 조작할 수 있습니다. 저는 Describe의 D와 Logs의 L을 자주 사용합니다. 기존 화면으로 돌아갈 때는 ESC를 누르면 됩니다.

:quit 을 입력하여 k9s를 종료할 수 있습니다.

오늘의 글은 여기까지입니다. 감사합니다!

profile
유용할지도 모른다.

0개의 댓글