当我们有多个集群需要操作的时候,如果是只使用原生的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
很方便的一点就是有命令提示