暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

800 多个 Kubectl 常用命令,再也不怕不会用 Kubernetes!

Raymond运维 2024-02-27
33

关注「Raymond运维」公众号,并设为「星标,第一时间获取更多运维等文章,不再错过精彩内容。



转载:Kubernetes 生态圈

原文:https://url.hi-linux.com/7iAIL

这个存储库包含脚本 gener_ aliases.py
 可以生成数百个方便的 kubectl shell 别名,您不再需要拼写出每个命令和--flag
 参数。

https://github.com/ahmetb/kubectl-aliases/blob/master/generate_aliases.py

通过命令/标志排列创建的 shell 别名示例如下:

alias ksysgdepwslowidel='kubectl --namespace=kube-system get deployment --watch --show-labels -o=wide -l'

示例

800 个别名,下面列出一部分:

alias k='kubectl'
alias kg='kubectl get'
alias kgpo='kubectl get pod'

alias ksysgpo='kubectl --namespace=kube-system get pod'

alias krm='kubectl delete'
alias krmf='kubectl delete -f'
alias krming='kubectl delete ingress'
alias krmingl='kubectl delete ingress -l'
alias krmingall='kubectl delete ingress --all-namespaces'

alias kgsvcoyaml='kubectl get service -o=yaml'
alias kgsvcwn='kubectl get service --watch --namespace'
alias kgsvcslwn='kubectl get service --show-labels --watch --namespace'

alias kgwf='kubectl get --watch -f'
...

访问下面地址,查看所有别名:

https://github.com/ahmetb/kubectl-aliases/blob/master/.kubectl_aliases

安装

您可以直接下载 bash/zsh 的文件.kubectl_aliases

https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases

或者 fish 的文件.kubectl_aliases.fish
,并将其保存到$HOME
目录中。

https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases.fish


Bash/Zsh

将以下内容添加到您的.bashrc/.zshrc
文件中:

[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases

建议:如果想使用 GNU watch 命令而不是 kubectl [...] --watch,请这样运行:

[ -f ~/.kubectl_aliases ] && source \
   <(cat ~/.kubectl_aliases | sed -r 's/(kubectl.*) --watch/watch \1/g')

在运行之前打印完整的命令:将其添加到您的.bashrc
 或 .zshrc
文件中:

function kubectl() { echo "+ kubectl $@">&2; command kubectl $@; }

Fish

添加下面内容到你的~/.config/fish/config.fish
文件:

test -f ~/.kubectl_aliases.fish && source ~/.kubectl_aliases.fish

这实际上增加了更强大的 fish 缩写:

https://fishshell.com/docs/current/cmds/abbr.html

而不是别名,这样在执行前按空格显示完整的命令。

建议:如果想使用 GNU watch 命令而不是 kubectl [...] --watch,请这样运行:

test -f ~/.kubectl_aliases.fish && source \
     (cat ~/.kubectl_aliases.fish | sed -r 's/(kubectl.*) --watch/watch \1/g' | psub)

语法解释

  • k
    =kubectl
    • sys
      =--namespace kube-system
  • commands:
    • g
      =get
    • d
      =describe
    • rm
      =delete
    • a
      :apply -f
    • ak
      :apply -k
    • k
      :kustomize
    • ex
      exec -i -t
    • lo
      logs -f
  • resources:
    • po
      =pod, dep
      =deployment
      ing
      =ingress
      ,svc
      =service
      cm
      =configmap
      sec
      =secret
      ,ns
      =namespace
      no
      =node
  • flags:
    • output format: oyaml
      ojson
      owide
    • all
      --all
       or --all-namespaces
       depending on the command
    • sl
      --show-labels
    • w
      =-w/--watch
  • value flags (should be at the end):
    • n
      =-n/--namespace
    • f
      =-f/--filename
    • l
      =-l/--selector

运行脚本

该脚本只有一个可选参数,即:将生成别名的 shell。如果不指定,则默认为bash
。例如:

# Generate aliases for bash/zsh
python generate_aliases.py > .kubectl_aliases

# Generate abbr for fish
python generate_aliases.py fish > .kubectl_aliases.fish













WeChat group


为方便大家更好的交流运维等相关技术问题,特创建了微信交流群。需要加群的小伙伴们在关注微信公众号后,点击底部菜单关于联系我,即可获取加群方式。


博客

Blog

CSDN博客

掘金博客

长按识别二维码访问博客网站,查看更多优质原创运维等文章。

文章转载自Raymond运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论