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

这个存储库包含脚本 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

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9201

赞 (0)
郭靖的头像郭靖
上一篇 2023年7月25日 下午4:30
下一篇 2023年7月26日 下午4:19

相关推荐

  • Shell脚本——提取目录名和文件名

    在许多场景下,我们都需要对文件名称或者文件所在的目录进行操作,已达到我们业务目的。通常的操作是由路径中提取文件名,从路径中提取目录名,提取文件后缀等等一系列的操作。 一、${} 1.${var##*/} 2.${var##*.} 3.${var#*.} 4.${var%/*} 5.${var%%.*} 6.总结 其实 ${} 并不是专门为提取文件名或目录名的…

    2024年2月18日
    2.5K00
  • rsync综合备份

    一.先看需求 客户端需求:1.客户端每天凌晨1点在服务器本地打包备份(/etc目录和/var/log目录)2.客户端备份的数据必须存放至以 “主机名ip地址当前时间” 命名的目录中3.客户端最后通过rsync推送本地已经打包好的备份文件至backup服务器4.客户端服务器本地保留最近7天的数据,避免浪费磁盘空间 服务端需求:1.服务端…

    2023年12月11日
    1.7K00
  • 让你配置linux 路由,你该怎么配置

    如下图所示有两个网络,分别是0网段和2网段,路由器1组成0网段,路由器2从路由器一种分出一个2网段 如果要在不同网段直接通讯,需要添加路由,linux添加路由命令如下: route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] add : 添加一条路由规则 del : 删除一条路由…

    2024年6月18日
    1.9K00
  • Git:合并多个commit 的高级技巧

    前言 在我们的日常项目开发中,git commit -m 无疑是使用最频繁的指令,这也造成了大量的commit 在我们的分支上。这样常常会带来分支过长、版本过多的问题。 正文 想要解决这个问题,我们通常会对commit 进行合并。 当我们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也可以成为一个完整的描述的时候,就…

    2023年3月15日
    2.4K00
  • Centos系统下RabbitMQ安装教程

    一、前言 RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境。需加注意的是,读者若不想跟着我的版本号下载安装,可根据两者版本号的对应表(下面图示只展示了部分),安装相应版本的Erlang和RabbitMQ,只需在下文修改命令里面的版本号即可。 二、Erlang下载安装 在…

    2022年6月16日
    2.0K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信