반응형
kubectl 초기 설정 꿀팁
각 사용자 home directory에 다음 내용을 추가하여 사용하면 유용하다.
1. bash-completion 설치
bash-completion을 설치하면 /usr/share/bash-completion/bash_completion를 생성한다.
패키지 매니저에 따라 ~/.bashrc 파일에서 bash_completion 파일을 수동으로 소싱해야 할 수도 있다.
###############################################################################
# 설치
###############################################################################
dnf install -y bash-completion
# ssh 터미널 재접속
# 소싱 설정 확인
type _init_completion
# 작동 안되면 .bashrc에 다음 내용 추가
echo "source /usr/share/bash-completion/bash_completion" >> ~/.bashrc
# ssh 터미널 재접속
# 소싱 설정 확인
type _init_completion
###############################################################################
# kubectl 자동 완성 활성화
###############################################################################
# 적용 방법은 2가지가 존재한다. User에 적용 또는 시스템에 적용.
# User에 적용 시
echo 'source <(kubectl completion bash)' >> ~/.bashrc
# 시스템에 적용 시
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
sudo chmod a+r /etc/bash_completion.d/kubectl
1.1 번외
# 궁금해서 찾아봄
kubectl completion bash
==> Bash용 kubectl을 완성하는 스크립트 반환
==> 해당 스크립트를 소싱하면 kubectl 자동 완성을 사용할 수 있다.
2. kubectl Alias 설정
# Alias 설정
echo 'alias k=kubectl' >>~/.bashrc
# Alias(k)에 대해 kubectl 자동 완성 기능이 적용되도록 설정
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc
# ssh 터미널 재접속
3. kubectx / kubens
kubectx: kubectl에서 Context 전환 도구
kubens: kubectl에서 Namespace 전환 도구
git clone https://github.com/ahmetb/kubectx
# 클론 받은 코드 중 상위에 존재하는 kubectx, kubens 파일을 /usr/local/bin 하위에 옮기면 끝인것 같음
# 근데 공식 문서에서는 아래와 같이 가이드하고 있긴함
# 위에 방식 해보고 안되면 아래와 같이하면될듯
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
4. kube-ps1
git clone https://github.com/jonmosco/kube-ps1.git
# kube-ps1.sh 파일을 /usr/local/bin 하위로 이동
echo 'source /usr/local/bin/kube-ps1.sh' >>~/.bashrc
echo "PS1='[\u@\h \W $(kube_ps1)]\$ '" >>~/.bashrc
# ssh 터미널 재접속
5. 플젝에서 사용했던 bashrc 추가 내용
내가 설정한 건 아니지만 플젝에서는 이렇게 쓰고 있었음.
# User specific environment
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH
alias k='kubectl'
# User specific aliases and functions
source /usr/local/bin/kube-ps1/kube-ps1.sh
PS1='[\u@\h \W $(kube_ps1)]\$ '
export PATH="/usr/local/bin:$PATH"
출처
[bash-completion]
- https://github.com/scop/bash-completion
- https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#enable-shell-autocompletion
- https://kubernetes.io/ko/docs/reference/kubectl/cheatsheet/#kubectl-%EC%9E%90%EB%8F%99-%EC%99%84%EC%84%B1
- https://gist.github.com/ianychoi/63408dbb3aaace74b45354002621afaa
[kubectx / kubens]
[kube-ps1]
반응형
'Kubernetes' 카테고리의 다른 글
| [k9s] character set not supported (0) | 2025.03.05 |
|---|---|
| [prometheus&grafana] Memory limit이 설정보다 2배로 보여요 (0) | 2025.02.27 |
| Kubernetes 관리 툴 K9S 설치 방법 및 사용 방법 (0) | 2025.02.17 |
| [k8s] NodeSelector, PodNodeSelector, NodeLabel (0) | 2025.02.14 |
| Onpremise에 Kubeflow 구축하기 (0) | 2024.12.03 |