Windows kubectl终端日志聚合
- 一、kubectl终端日志聚合
 - 二、windows安装ubuntu子系统
 - 1. 启用wsl支持
 - 2. 安装所选的 Linux 分发版
 
- 三、ubuntu安装kubetail
 - 四、配置cmder
 - 五、使用
 
一、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


















