V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huangmingyou
V2EX  ›  Kubernetes

分享一个 vim 管理 k8s 的方法

  •  
  •   huangmingyou · 13 天前 · 2019 次点击
    在.vimrc 里面添加配置
    map <F6> :.w !/usr/local/bin/klog


    klog 脚本内容如下
    #!/bin/bash
    read a

    kubectl logs -f --tail 10 $a


    使用:

    用 vim 打开一个包含 pod 名字的文件,跳转到某一条 pod 所在的行,按 f6 就可以直接查看 pod 日志。
    14 条回复    2021-07-22 22:40:11 +08:00
    css3
        1
    css3   13 天前 via iPhone
    挺有意思,有空尝试一下
    chendy
        2
    chendy   13 天前
    这个操作是什么时候用的呢,为啥不直接做个脚本或者 alias ?
    wellsc
        3
    wellsc   13 天前 via iPhone
    牛逼
    huangmingyou
        4
    huangmingyou   13 天前
    @chendy 连续看多个 pod 的时候,简化操作步骤。方便在 vim 里面搜索 pod
    etby
        5
    etby   13 天前
    我选择 K9S
    ck65
        6
    ck65   13 天前
    感谢分享,我继续使用 K9s
    rainfd
        7
    rainfd   13 天前
    K9s+1
    kennylam777
        8
    kennylam777   13 天前
    k9s + 10086
    li24361
        9
    li24361   13 天前
    感谢楼上几位,第一次知道 K9s
    lululau
        10
    lululau   12 天前
    一个 k9s plugin,支持在一个新打开的 TMUX window / iTerm2 Tab 中打开日志,前提是容器内有 lnav

    lnav:
    # Define a mnemonic to invoke the plugin
    shortCut: Shift-L
    # What will be shown on the K9s menu
    description: Lnav the latest log file in /data/logs/*/
    # Collections of views that support this shortcut. (You can use `all`)
    scopes:
    - po
    # The command to run upon invocation. Can use Krew plugins here too!
    command: sh
    # Whether or not to run the command in background mode
    background: false
    # Defines the command arguments
    args:
    - -c
    - |
    if [ -n "${TMUX}" ]; then
    tmux new-window -n 'lnav ($NAME)' "kubectl exec $NAME -it -n $!NAMESPACE --context $CONTEXT -- /bin/bash -c \"/usr/bin/lnav /data/logs/*/\\\$(ls -t /data/logs/*/ | grep -P '\\d{4}-\\d{2}-\\d{2}.*\\.(log|gz)' | head -1)\""
    else
    osascript -e '
    tell app "iTerm2"
    tell current window
    create tab with default profile command "/usr/local/bin/kubectl exec $NAME -it -n $!NAMESPACE --context $CONTEXT -- /bin/bash -c '"'"'/usr/bin/lnav /data/logs/*/$(ls -t /data/logs/*/ | grep -P \"\\d{4}-\\d{2}-\\d{2}.*\\.(log|gz)\" | head -1)'"'"'"
    end
    end'
    fi
    Pythondr
        11
    Pythondr   12 天前   ❤️ 1
    zzzmj
        12
    zzzmj   12 天前
    k9s+1,如果只是日志的话,可以用 stern.
    Ansen
        13
    Ansen   12 天前
    我选择用 lens
    morty0
        14
    morty0   12 天前
    我选择 ELK
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3419 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 09:01 · PVG 17:01 · LAX 02:01 · JFK 05:01
    ♥ Do have faith in what you're doing.