터미널에서 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

You may also like...

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.