超实用的K8S命令行工具

2023-08-19 09:28:46 浏览数 (2)

当我们有多个集群需要操作的时候,如果是只使用原生的kubectl会比较麻烦,要不断的切来切去,下面就来介绍几个实用的工具。

合并多集群配置

1. 下载工具:kubecm
代码语言:javascript复制
# curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v0.21.0/kubecm_v0.21.0_Darwin_x86_64.tar.gz 

  % Total % Received % Xferd Average Speed Time Time Time Current

                                 Dload Upload Total Spent Left Speed

  0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0

100 19.4M 100 19.4M 0 0 295k 0 0:01:07 0:01:07 --:--:-- 2488k

# tar -zxvf kubecm.tar.gz kubecm

# sudo mv kubecm /usr/local/bin/
2. 合并配置

将需要合并的集群配置kubeconfig文件统一放在一个目录下; 使用如下命令合并

代码语言:javascript复制
# kubecm merge -f ~/.kube/ts

此时就可以切换context了

代码语言:javascript复制
# kubecm switch

切换namespace

为了在多个ns时,输入命令不用指定ns时,那么需要用到这个工具kubens

代码语言:javascript复制
# brew install kubectx

这个巩固工具包含了kubectx和kubens, 其中kubectx跟kubecm一样,都是切换context的。

命令提示

使用工具kube-prompt

代码语言:javascript复制
$ wget https://github.com/c-bata/kube-prompt/releases/download/v1.0.3/kube-prompt_v1.0.3_darwin_amd64.zip
$ unzip kube-prompt_v1.0.3_darwin_amd64.zip

# 给 kube-prompt 加上执行权限并移动常用的可搜索路径。
$ chmod  x kube-prompt
$ sudo mv ./kube-prompt /usr/local/bin/kube-prompt

使用

上面两个工具配合起来使用就很方便了 先使用kubecm切换到想要操作的集群 在使用kubens切换到指定namespace 最后使用kube-prompt进行交互式命令操作:

代码语言:javascript复制
# kube-prompt 
kube-prompt v1.0.4 (rev-61ddcfd)
Please use `exit` or `Ctrl-D` to exit this program.
>>> 
>>> 
>>> get ns
NAME STATUS AGE
cle-env-1433 Active 6d3h
cle-env-54041476 Active 261d
cle-env-54051570 Active 261d
cle-env-590 Active 44d
cle-env-614 Active 43d
cle-env-621 Active 43d
cle-ts Active 6d4h
default Active 2y110d
kube-node-lease Active 2y110d
kube-public Active 2y110d
kube-system Active 2y110d
prod Active 2y109d
prom-be5wvx5i Active 220d
sscle-2121-kk Active 265d
test-xx Active 16d

很方便的一点就是有命令提示

0 人点赞