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 ]; thenecho "Usage: $0 default|config|*"show_all return 0
fi # 根据传入的参数执行相应的命令
case $1 indefault|config)if [ -f "$kube_config_dir/config" ]; then export KUBECONFIG=$kube_config_dir/configecho "Switched to default"return 0fiecho "Switched failed, $kube_config_dir/config is not exists!"return -1;;*) if [ -f "$kube_config_dir/$1.kubeconfig" ]; thenexport KUBECONFIG=$kube_config_dir/$1.kubeconfigecho "Switched to $1"return 0fi 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