V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xabcstack
V2EX  ›  分享创造

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

  •  
  •   xabcstack · 2021-09-28 14:19:37 +08:00 · 1847 次点击
    这是一个创建于 1187 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    9 条回复    2021-09-29 09:30:36 +08:00
    Judoon
        1
    Judoon  
       2021-09-28 15:14:09 +08:00
    1 、可以使用 kubectl 自带的 config context 功能
    其余几个,感觉就像是 alias,配置好 shell 的 completion,没差多少吧
    xabcstack
        2
    xabcstack  
    OP
       2021-09-28 16:00:54 +08:00
    @Judoon 这个就是废了人肉设定管理 context ,全自动管理
    xabcstack
        3
    xabcstack  
    OP
       2021-09-28 16:20:41 +08:00
    @Judoon 如果有几十个 /几百个集群,这里可以缩小过滤范围
    Abirdcfly
        4
    Abirdcfly  
       2021-09-28 16:50:50 +08:00
    瞅一眼 kubectx 和 kubens ?
    xabcstack
        5
    xabcstack  
    OP
       2021-09-28 16:53:15 +08:00
    @Abirdcfly 就是废弃这种人肉管理的方案,新理念就是忽略不同的 kubeconfig 全自动切换
    xabcstack
        6
    xabcstack  
    OP
       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
        7
    Judoon  
       2021-09-28 18:56:09 +08:00
    那你自己玩玩确实可以,不然弄混了弄出事
    xuzhzzz
        8
    xuzhzzz  
       2021-09-28 18:58:36 +08:00
    下个 lens,我已经很久不输命令了
    xabcstack
        9
    xabcstack  
    OP
       2021-09-29 09:30:36 +08:00
    @Judoon 切换的时候,会有明显提示
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:19 · PVG 09:19 · LAX 17:19 · JFK 20:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.