Kubectl Pro 在管理多个 kubeconfig 的情况下,全自动切换

2021-09-28 14:19:37 +08:00
 xabcstack

Kubectl Pro https://github.com/ywgx/ki

Kubectl Pro 管理使用说明

  1. ki -s 选择需要连接的 kubernetes(如果存在多个~/.kube/kubeconfig*,可以把 kubeconfig 存放命令为 kubeconfig-hz,kubeconfig-sh)

  2. ki 列出所有 Namespace

  3. ki xx 列出某 Namespace (如果存在多个 ~/.kube/kubeconfig*,将在其中找到最优匹配) 的 Pod,Namespace 参数支持模糊匹配,例如要查看 Namespace 为 dev 里的 pod,可以简写为 'ki d',输出 pod 列表后 grep: xxx 过滤查询

      grep: xxx l (可选参数 [ l ] 表示输出目标 Pod 的实时日志)
      grep: xxx l 100 (表示输出目标 Pod 最新 100 行的实时日志)
      grep: xxx l xxx (表示输出目标 Pod 实时日志并过滤指定字符串)
      grep: xxx r (可选参数 [ r ] 表示重启目标 Pod)
      grep: xxx o (可选参数 [ o ] 表示导出目标[Deployment,StatefulSet,Service,Ingress,Configmap,Secret] yml 文件)
      grep: xxx del (可选参数 [ del ] 表示删除目标 Pod,根据 k8s 的默认编排策略会重新拉起,类似重启 Pod)
      grep: xxx cle (可选参数 [ cle ] 表示删除目标 Deployment/StatefulSet)
      grep: xxx e[si] (可选参数 [ e[si] ] 表示编辑目标 Deploy/Service/Ingress)
    
  4. ki xx d 列出某 Namespace 的 Deployment

  5. ki xx f 列出某 Namespace 的 StatefulSet

  6. ki xx s 列出某 Namespace 的 Service

  7. ki xx i 列出某 Namespace 的 Ingress

1846 次点击
所在节点    分享创造
9 条回复
Judoon
2021-09-28 15:14:09 +08:00
1 、可以使用 kubectl 自带的 config context 功能
其余几个,感觉就像是 alias,配置好 shell 的 completion,没差多少吧
xabcstack
2021-09-28 16:00:54 +08:00
@Judoon 这个就是废了人肉设定管理 context ,全自动管理
xabcstack
2021-09-28 16:20:41 +08:00
@Judoon 如果有几十个 /几百个集群,这里可以缩小过滤范围
Abirdcfly
2021-09-28 16:50:50 +08:00
瞅一眼 kubectx 和 kubens ?
xabcstack
2021-09-28 16:53:15 +08:00
@Abirdcfly 就是废弃这种人肉管理的方案,新理念就是忽略不同的 kubeconfig 全自动切换
xabcstack
2021-09-28 17:17:40 +08:00
比如 kubeconfig-a 里面有 test 这个 namespace 而 kubeconfig-b 里面有 dev 这个 namespace, 而 config 默认软连接在 kubeconfig-a 下, 这个时候 ki dev 的时候,将自动给你把 config 软连接切换到 kubeconfig-b , 并且列出 pod 列表,可以缩小过滤
Judoon
2021-09-28 18:56:09 +08:00
那你自己玩玩确实可以,不然弄混了弄出事
xuzhzzz
2021-09-28 18:58:36 +08:00
下个 lens,我已经很久不输命令了
xabcstack
2021-09-29 09:30:36 +08:00
@Judoon 切换的时候,会有明显提示

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/804886

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX