본문으로 바로가기
반응형

Intro

k8s cluster를 운영하면서 다양한 docker image를 사용하게 될텐데요. 이 docker image가 어떤 권한과 어떤 유저로 실행되도록 구성되어있는지에 따라서 kubectl로 pod에 접속하였을때 어디 까지 할 수 있는지가 정해지게 됩니다. 혹시 pod에 접속해서 yum 이나 apt-get으로 curl이나 tcpdump같은걸 설치하려고보니 root권한이 없는 경우가 있었나요? 이 때 kpexec라는 오픈소스를 사용하면 쉽게 admin권한으로 pod에 접속할 수 있습니다.

kpexec 란?

kpexec는 Container의 권한에 관계 없이 command를 가장 높은 권한으로 실행시켜주는 CLI입니다.

kpexec 설치

  • home brew 사용시
brew install ssup2/tap/kpexec
  • krew 사용시
kubectl krew install pexec

kpexec 사용법

# home brew로 설치한 경우
kpexec -it mypod -c bash-container -- bash

# krew로 설치한 경우
kubectl pexec -it mypod -c bash-container -- bash
반응형