기본 콘텐츠로 건너뛰기

[Kubernetes - KREW] KREW란 무엇일까?

What is the KREW

KREW는 kubectl을 확장하기 위한 플러그인 매니저Kubernetes SIG로 개발이 진행되고 있다.

참고

kubectl v1.12 이상 버전에만 호환된다.

현재 Krew에는 127개의 kubectl 플러그인이 등록되어 있으며, macOS, linux, windows 등의 모든 플랫폼에서 작동된다.

KREW를 사용하면 플러그인을 개발하고 여러 플랫폼에 쉽게 배포하고 중앙 집중식 플러그인 저장소를 통해 검색 및 설치 및 관리가 가능하다.

Install

macOS / Linux

참고

Linux에서 shell 확인하는 방법

  • grep <user name> /etc/passwd 를 실행하면 해당 사용자 정보 및 사용하는 쉘 정보가 출력된다.
  • cat /etc/shells 를 실행하면 현재 설치되어 있는 쉘 리스트를 볼 수 있다.

git 설치하는 방법

  • CentOS 8에서는 sudo yum -y install git 또는 sudo dnf -y install git 를 사용
  • git --version 명령으로 설치 확인
  • bash 또는 zsh 쉘

    1. git가 설치되어 있어야 한다.
    2. krew 다운로드 및 설치
      (
        set -x; cd "$(mktemp -d)" &&
        curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" &&
        tar zxvf krew.tar.gz &&
        KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/arm.*$/arm/')" &&
        "$KREW" install krew
      )
    3. $HOME/.krew/bin 디렉터리를 PATH에 추가하고 아래와 같은 명령을 .bashrc 또는 .zshrc 파일에 추가하고 쉘을 재 시작한다.
      export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
    4. kubectl krew 명령을 통해 정상 동작여부 확인
  • fish 쉘

    1. git가 설치되어 있어야 한다.
    2. krew 다운로드 및 설치
      begin
        set -x; set temp_dir (mktemp -d); cd "$temp_dir" &&
        curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" &&
        tar zxvf krew.tar.gz &&
        set KREWNAME krew-(uname | tr '[:upper:]' '[:lower:]')_(uname -m | sed -e 's/x86_64/amd64/' -e 's/arm.*$/arm/') &&
        ./$KREWNAME install krew &&
        set -e KREWNAME; set -e temp_dir
      end
    3. $HOME/.krew/bin 디렉터리를 PATH에 추가하고 아래와 같은 명령을 config.fish 파일에 추가하고 쉘을 재 시작한다.
      set -gx PATH $PATH $HOME/.krew/bin
    4. kubectl krew 명령을 통해 정상 동작여부 확인

Windows

  1. git가 설치되어 있어야 한다.
  2. Release Page에서 krew.exe 다운로드
  3. 심볼릭 링크를 사용하므로 관리자 권한으로 cmd.exe를 실행하고 다운로드한 디렉토리로 이동
  4. krew 설치 명령을 실행
    krew install krew
  5. %USERPROFILE%\.krew\bin 디렉터리를 PATH 환경변수에 추가
  6. 새로운 cmd.exe를 실행하고 kubectl krew 명령을 통해 정상 동작여부 확인

사용 방법

  • 플러그인 리스트 다운로드및 검색
    $ kubectl krew update   # 최신 플러그인 리스트 다운로드
    $ kubectl krew search [plugin name]  # 플러그인 검색, plugin name을 생략하면 가능한 모든 플러그인 리스트 출력
  • 플러그인 설치
    $ kubectl krew install access-matrix
  • 설치된 플러그인 사용
    $ kubectl <installed plugin name>
  • 설치된 플러그인 갱신
    $ kubectl krew upgrade
  • 설치된 플러그인 삭제
    $ kubectl krew uninstall <plugin name>

댓글