Kubectl 的小技巧

Kubectl 的小技巧

更新於 發佈於 閱讀時間約 8 分鐘

Required

  • 以下的資訊只適用於 mac-os 作業系統環境.
  • zshrc terminal 環境

Alias

通常在指令 terminal 環境下, 會透過 alias 指令, 把一些名稱較長的指令縮短成自己開發習慣的 "簡稱",方便我打幾個字 + tab 鍵, 快速達到我要的功能。

我自己是習慣特別撰寫一份 .aliax 的文件, 存放於 user 目錄底下, 再透過於 .zshrc 裡面添加一行, 來載入我所有的 aliaes。

source ~/.aliax 

這方便我在任何 linux, unix 環境快速安裝自己習慣的 alias。

我常用的 aliaes 如下,

alias ll='ls -lahtr'                                         # List all file in long list format by modification time
alias ..='cd ..' # Go up one directory
alias ...='cd ../..' # Go up two directories
alias ....='cd ../../..' # Go up three directories
alias -- -='cd -' # Go back
alias c='clear' # Clear Screen
alias k='clear' # Clear Screen
alias cls='clear' # Clear Screen
alias _="sudo" # Execute with sudo
alias q='exit' # Logout
alias md='mkdir -p' # Recursive create sub dirctory

alias psjar='ps aux | grep jar' # List jar process

alias rm='rm -i' # 多一層 confirm 確認刪除, 更好的方法是改為 mv $@ ./trash
alias df='df -h' # Show disk info for human

alias py3='python3' # python3
alias py2='python2' # python2

alias kc='kubectl'
alias km='kustomize'

# List used port info and process id
alias lp='function _lp(){ lsof -n -iTCP:$1 | grep LISTEN; };_lp'
alias sp='function _sp(){ nmap -PS $1};_sp'

# App
alias vscode='open -a /Applications/Visual\ Studio\ Code.app/'
alias ij='open -a /Applications/IntelliJ\ IDEA.app/'

當然 zshrc 本身也提供了開源開發者貢獻的 aliases 供您安裝使用。

Kubectl

當你開始維護 K8s 的設定的時候, kubectl 基本上就會成為您的手腳, 您會常需要

kubectl get [service/pod]   # 查看 service 資源, pod 資源
kubectl logs pod [pod-name] # 查看 pod 相關 logs
kubectl apply -f xxxx.yaml # 把相關資源部署到 k8s 叢集內
kubectl describe [workload] # 查看 k8s workload 資源

沒意外的話, 你會下得很煩躁。所以可以把 kubectl 簡稱 kc, 來讓自己工作舒適一點。

alias kc='kubectl'

Autocomplete

就算這樣, 我還是常常記不住某些複雜的英文 (金魚腦), 所以可以考慮官方建議的 Cheat Sheet 把 autocomplete 設定上去。基本上就 2 行指令而已, 一片蛋糕 XD

source <(kubectl completion zsh)  # setup autocomplete in zsh into the current shell
echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # add autocomplete permanently

這樣的話, 只要 kc desc + tab 就可以達到 kubectl describe 指令的功能了。

Lens

https://k8slens.dev/

如果您真的是指令苦手的話, Lens 是個非常不錯的專案, 一些簡單的設定就可以 GUI 的方式, 讓您管理 K8s 資源, 且不用下任何指令就能維運。

source: https://k8slens.dev/

source: https://k8slens.dev/

source: https://k8slens.dev/

source: https://k8slens.dev/

source: https://k8slens.dev/

source: https://k8slens.dev/



avatar-img
jyuto的沙龍
0會員
2內容數
留言
avatar-img
留言分享你的想法!
jyuto的沙龍 的其他內容
JVM 什麼時候使用 stack 什麼時候使用 heap ?
JVM 什麼時候使用 stack 什麼時候使用 heap ?