一、kubectl终端日志聚合

k8s在实际部署时,一般都会采用多pod方式,这种情况下,查看容器实时日志就会变得麻烦许多。一般采用ELK日志采集方式,但是ELK日志是伪实时性的、不易关联日志上下文,有时不得不结合“小黑窗”,这个时候,可以尝试使用kubetail聚合kubectl客户端日志。可是kubetail本质是shell脚本,仅支持linux和mac,作为苦逼的windows用户只能另辟蹊径了。下面介绍一种方式,采用
wsl+ubuntu+cmder打造自己的linux终端。

二、windows安装ubuntu子系统

1. 启用wsl支持

网上教程一大堆,这里不赘述了!

2. 安装所选的 Linux 分发版

打开 Microsoft Store,并选择你偏好的 Linux 分发版。我的电脑打不开!!!
采用手动安装方式,下载地址如下:

https://docs.microsoft.com/en-au/windows/wsl/install-manual
wsl-ubuntu-1804

三、ubuntu安装kubetail

sudo curl -Lo /usr/local/bin/kubetail https://raw.githubusercontent.com/johanhaleby/kubetail/master/kubetail
sudo chmod +x /usr/local/bin/kubetail
cp -r /mnt/c/Users/ryou/.kube ~/

源站: https://github.com/johanhaleby/kubetail.git
国内镜像站: git clone https://gitee.com/ryou5416/kubetail.git

若你有多个kubeconfig连接配置文件,可以通过linux环境变量动态指定。

export KUBECONFIG=~/.kube/my.kubeconfig

命令太长,懒得改。。。写个脚本简化下
将以下脚本命名为.switchrc保持到用户目录
~

#!/bin/bash
# 为了避免来回复制宿主机的kubeconfig配置,可以直接写宿主机的目录 /mnt/c/Users/ryou/.kube  
kube_config_dir=~/.kube
    
# 定义一个函数来显示所有的 export KUBECONFIG 子句   
show_all() { 
    for file in "$kube_config_dir"/*; do         
        if [ -f "$file" ]; then   
            echo "export KUBECONFIG=$file"       
        fi         
    done
}   
    
# 检查传入的参数          
if [ "$#" -eq 0 ]; then
    echo "Usage: $0 default|config|*"
    show_all       
    return 0
fi  
    
# 根据传入的参数执行相应的命令   
case $1 in
    default|config)
        if [ -f "$kube_config_dir/config" ]; then   
            export KUBECONFIG=$kube_config_dir/config
            echo "Switched to default"
            return 0
        fi
        echo "Switched failed, $kube_config_dir/config is not exists!"
        return -1
        ;;
    *)  
        if [ -f "$kube_config_dir/$1.kubeconfig" ]; then
            export KUBECONFIG=$kube_config_dir/$1.kubeconfig
            echo "Switched to $1"
            return 0
        fi 
        echo "Switched failed, $kube_config_dir/$1.kubeconfig is not exists!"
        echo "Usage: $0 default|config|*"
        show_all  
        return -1
        ;;
esac
  • 用法:

帮助信息

source ~/.switchrc

切换默认配置

source ~/.switchrc config

切换其它配置

source ~/.switchrc cluster1

四、配置cmder

新增cmder启动任务,程序命令为"C:\Windows\System32\wsl.exe";
打开命令终端窗口时,选择{ubuntu}即可!

在这里插入图片描述

在这里插入图片描述

五、使用

kubetail -h

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐