DevOps/Kubernetes

[Kubernetes] kubectx, kubens 설치 및 powerlevel10 커스터마이징

nayoungs 2022. 5. 27. 22:04
728x90

kubectx란?

다중 클러스터 사용 시 클러스터 context 전환을 쉽게 해 주는 툴이다.

 

kubens란?

쿠버네티스 클러스터 내에서 네임스페이스 변환을 쉽게 해 주는 툴이다.

 

kubectx / kubens 설치하기

Github URL 👉 https://github.com/ahmetb/kubectx

 

kubectx

$ wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx
$ sudo install kubectx /usr/local/bin

설치 확인

$ which kubectx      
/usr/local/bin/kubectx

 

kubens

$ wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens
$ sudo install kubens /usr/local/bin

설치 확인

$ which kubens
/usr/local/bin/kubens

 

Kubectx 사용법

context 목록 확인하기

$ kubectx

context 전환하기

$ kubectx <CONTEXT>

 

Kubens 사용법

namespace 목록 확인하기

$ kubens

namespace 전환하기

$ kubens <NAMESPACE>

 

Powerlevel10k란?

쿠버네티스에서 클러스터가 여러 개이고, 사용자마다 권한도 다 다르고 그러다 보니

실제로 어디서 어떤 작업을 하고 있는지 헷갈리는 경우가 많다.

이런 경우 유용하게 사용할 수 있는 것이 바로 Powerlevel10k이다.

 

Powerlevel10k를 사용하면, kubectl 명령어를 사용할 때

어떤 context에서 작업 중인지 바로 확인할 수 있다.

이외에도 리턴코드, 로딩 시간 확인 등등 여러 기능을 갖추고 있어

실제로 개발자들 사이에서 정말 많이 사용되는 오픈소스이다

 

Github URL 👉 https://github.com/romkatv/powerlevel10k

 

zsh 및 oh-my-zsh이 설치되어있어야 하는데, 설치 방법은 여기에서 확인할 수 있다.

 

 

그렇다면, zsh 및 oh-my-zsh 설치가 완료되었다는 전제 하에, Powerlevel10k를 설정해보자

 

먼저 git clone을 통해 저장소를 동기화한다.

$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

다음으로 zsh 설정파일인 ~/.zshrc에서 테마를 powerlevel10k로 변경한다.

$ vi ~/.zshrc
...
ZSH_THEME="powerlevel10k/powerlevel10k"

zsh을 재시작하기 위해 다음 명령어를 입력한다.

$ exec zsh

그러면 다음과 같이 powerlevel10k 설정 화면이 나오고, 본인의 기호에 맞게 항목들을 선택하면 된다.

   This is Powerlevel10k configuration wizard. You are seeing it because you haven't
  defined any Powerlevel10k configuration options. It will ask you a few questions and
                                 configure your prompt.

                    Does this look like a diamond (rotated square)?
                      reference: https://graphemica.com/%E2%97%86

                                     --->    <---

(y)  Yes.

(n)  No.

(q)  Quit and do nothing.

Choice [ynq]:

설정을 다시 하고 싶다면 다음 명령을 치고 다시 진행하면 된다.

$ p10k configure

설정을 완료하면, 다음과 같은 화면을 확인할 수 있다.

 

 

아이콘을 적용하고 싶다면 공식 폰트를 다운로드해야 한다.

다음 4개의 폰트를 다운 및 설치하고,

윈도우 터미널을 사용한다면 윈도우 터미널에서 폰트 변경을,

vscode에서 진행한다면 vscode에서 폰트를 'MesloLGS NF'으로 변경하면 된다.

 

github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf

github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf

github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf

github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf

 

 

그리고 pk10 configure 명령을 통해 다시 설정하면 다음과 같은 화면을 확인할 수 있다

 

 

여기서부터 제대로 된 커스터마이징 시작!

 

여기서 만약 색상 및 리턴 코드에 따른 아이콘을 변경하고 싶다면 ~/.p10k.zsh 파일을 수정하면 된다.

 

색상은 다음 명령을 통해 가능한 255가지 색상 목록을 확인할 수 있다.

$ for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done

리턴 코드가 0으로 종료(정상종료)되었을 때는 파란 하트 💙가 표시되도록 하였고,

505 typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='💙'
513 typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='💙'

리턴 코드가 0이 아닐 때는 놀라는 원숭이 아이콘 🙊이 표시되도록 커스터마이징하였다

519 typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='🙊'
528 typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='🙊'

 

그리고 파란색을 좋아해서 전체적으로 파랗게 설정하였다.

 

사용자 계정 부분

910 typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=75
911 typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0

현재 시간 부분

# Current time color.
1657 typeset -g POWERLEVEL9K_TIME_FOREGROUND=7
1658 typeset -g POWERLEVEL9K_TIME_BACKGROUND=4

 

또한 kubectl 명령을 사용할 때 보이는 context의 색상도 변경하였다.

완성된 결과는 다음과 같다

 

 




 

 

728x90