thecasualcoder/kube-fzf 포크해서 개인적으로 자주 쓰는 패턴의 스크립트를 추가 하였습니다.
Shell commands using kubectl
and fzf
for command-line fuzzy searching of Kubernetes Pods. It helps to interactively:
- search for a Pod
- tail a container of a Pod
- exec in to a container of a Pod
- describe resources
- port forward pod
- rollout restart deployment
- edit resources
fzf
yq
yaml processor required!bat
supports syntax highlighting for a large number of programming and markup languagesstern
Stern allows you to tail multiple pods on Kubernetes and multiple containers within the pod. Each result is color coded for quicker debuggingxclip
Only for Linux and it is optional
git clone https://github.com/bench87/kube-fzf.git ~/.kube-fzf
cd ~/.kube-fzf
./install
아래 예는 Pod 리소스를 삭제하는 예입니다.
kdelete pod [-a | -n <namespace-query> | -c ] [query]
아래 예는 Deployment 리소스를 찾아서 stern 명령어를 실행하는 예
kstern deploy [-a | -n <namespace-query> | -c ] [query]
아래 예는 Deployment 리소스를 수정하는 예입니다.
kedit deploy [-a | -n <namespace-query> | -c ] [query]
아래 예는 Pod 리소스의 describe를 보는 예입니다.
kdesc pod [-a | -n <namespace-query> | -c ] [pod-query]
아래 예는 Deployment 리소스의 rollout restart를 하는 예입니다.
krestart deploy [-a | -n <namespace-query> | -c ] [pod-query]
findpod [-a | -n <namespace-query> | -c ] [pod-query]
tailpod [-a | -n <namespace-query> | -c ] [pod-query]
execpod [-a | -n <namespace-query> | -c] [pod-query] <command>
pfpod [-a | -n <namespace-query> | -c] [pod-query] <port>
WARNING: 특정 팟을 서비스에서 제외하는 명령어 입니다.
이 명령어는 해당 팟의 env label 을 dump 로 바꾸어 서비스에서 routing 되지 않도록 변경합니다.
kout [-a | -n <namespace-query> | -c <kubectl context>] [pod-query]
WARNING: 특정 팟의 Heapdump 를 생성합니다.
khdump [-a | -n <namespace-query> | -c <kubectl context> | -d <output path> | -p <pid>] [pod-query]
WARNING: 특정 팟의 ThreadDump 를 생성합니다.
ktdump [-a | -n <namespace-query> | -c <kubectl context> | -d <output path> | -p <pid>] [pod-query]
-a - Search in all namespaces
-n <namespace-query> - Find namespaces matching <namespace-query> and do fzf.
If there is only one match then it is selected automatically.
-c Find kubectl context and do fzf
-h - Show help