본문 바로가기

asdf로 kubectl 멀티 버젼 사용하기

출입금지 발행일 : 2023-11-20

 

로컬 환경에서 서로 다른 버전의 kubectl을 사용하는 상황이 발생했다.  kubectl의 최신 버전 지원하지 않고 있는 서비스를 이용 해야 해서 1.21~23 버전을 사용해야 하는 상황입니다.

반면, 로컬 테스트를 위해 Homebrew를 통해 설치하면 자동으로 kubectl  최신 버전(1.28)이 설치됩니다. 이러한 상황을 관리하기 위해 asdf라는 도구를 사용했습니다. asdf는 nvm이나 pyenv와 유사하게 다양한 버전의 소프트웨어를 설치하고 관리할 수 있게 해주는 명령줄 인터페이스(CLI) 툴입니다.

 

asdf 설치 하기

# install asdf
brew install asdf

 

# add asdf
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc​

 

실리콘 맥북에서 진행하였으며, zsh, brew를 이용하여 설치를 진행 하였다.

 

 

asdf plubin add kubectl

asdf plugin add kubectl https://github.com/asdf-community/asdf-kubectl.git

 

# kubectl 1.28.2 버전을 설치
asdf install kubectl 1.28.2

# kubectl 1.23.6 버전을 설치
asdf install kubectl 1.23.6

개발에 필요한 버젼을 지정 하면 사용은 준비는 끝이 난다.

 

 

kubectl 버젼 설정

# global 버전 설정하기
asdf global kubectl 1.23.6

# local 버전 설정하기 (현재 터미널의 세션)
asdf local kubectl 1.23.6

사용 원하는 버젼을 지정하고, 아래와 같이 정상적으로 설정 되었는지 확인 하면 끝난다.

 

kubectl version client -o=yaml

clientVersion:
  buildDate: "2022-04-14T08:49:13Z"
  compiler: gc
  gitCommit: ad3338546da947756e8a88aa6822e9c11e7eac22
  gitTreeState: clean
  gitVersion: v1.23.6
  goVersion: go1.17.9
  major: "1"
  minor: "23"
  platform: darwin/arm64
반응형

댓글