터미널에서 k8s 현재 컨텍스트 보여주고 색상으로 구분시키기
컨텍스트명이 너무 길어서 앞에 15자만 나오도록. dev는 초록색, prod는 빨간색.
nano ~/.zshrc
function kube_ps1() {
# 현재 컨텍스트 가져오기
local KUBE_CTX=$(kubectl config current-context 2>/dev/null)
# 컨텍스트가 설정되어 있을 때만 처리
if [ -n "$KUBE_CTX" ]; then
# 컨텍스트 이름 앞 15자만 가져오기
local SHORT_CTX=${KUBE_CTX:0:15}
# 색상 코드 설정 (dev와 prod 구분)
local COLOR_RESET="%f"
local COLOR_DEV="%F{green}"
local COLOR_PROD="%F{red}"
# dev와 prod 조건에 따라 색상 적용
if [[ "$KUBE_CTX" == *"dev"* ]]; then
echo "${COLOR_DEV}[k8s:$SHORT_CTX]${COLOR_RESET}"
elif [[ "$KUBE_CTX" == *"prod"* ]]; then
echo "${COLOR_PROD}[k8s:$SHORT_CTX]${COLOR_RESET}"
else
# 기타 환경은 기본 색상
echo "[k8s:$SHORT_CTX]"
fi
fi
}
export PS1='$(kube_ps1) '$PS1
source ~/.zshrc
최근 댓글