Windows下安装并使用kubectl查看K8S日志

【1】安装kubectl

官网文档:https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/

在这里插入图片描述

下载后得到 kubectl.exe,放到一个目录下,然后配置环境变量。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时CMD 进入DOS命令窗口

kubectl version

在这里插入图片描述

【2】配置config文件

其实就是连接k8s集群的配置文件config,这个可以问运维同事要或者从服务器环境上面拷贝。

进入用户家目录,创建 .kube 文件夹(不要忽略.),然后放入config

C:\Users\12746\.kube

在这里插入图片描述

【3】查看日志

在 Windows 上安装了 kubectl 之后,你可以使用它来查看 Kubernetes 集群中 Pods 的日志。以下是查看 Pod 日志的基本步骤:

  1. 打开命令行工具:你可以使用 PowerShell、Command Prompt 或者 Windows Terminal 来运行 kubectl 命令。

  2. 获取 Pods 列表:首先,你需要知道你想查看哪个 Pod 的日志。通过以下命令列出当前命名空间下的所有 Pods:

kubectl get pods

如果你的 Pod 在不同的命名空间中,可以使用 -n 参数指定命名空间,例如:

kubectl get pods -n your-namespace
  1. 查看 Pod 日志:一旦你知道了 Pod 的名称,就可以使用 kubectl logs 命令来查看其日志。基本语法如下:
kubectl logs your-pod-name

同样,如果 Pod 在特定的命名空间中,请记得加上 -n 参数:

kubectl logs your-pod-name -n your-namespace
  1. 实时查看日志:如果你想实时查看日志(类似于 Linux 中的 tail -f),可以添加 -f 参数:
kubectl logs -f your-pod-name -n namespace

需要注意的是上面命令获取的是 容器的标准输出(stdout)和标准错误输出(stderr),也就是程序打印到控制台的内容,不是日志文件里的内容。

  • 如果 logger 配置了输出到控制台(默认通常是),那么两种都能看到;
  • 如果 logger 只输出到文件(如 app.log),那么只有文件里能看到 logger.info(…) 的内容;
  • kubectl logs 只能查看容器中 stdout/stderr 的内容,不能直接读取容器内的日志文件。
  1. 查看之前容器的日志:如果你的 Pod 已经重启,你可能需要查看之前容器的日志。可以使用 --previous 标志来实现:
kubectl logs your-pod-name --previous
  1. 将容器日志拷贝到本地查看
kubectl cp jtywb-jane-sc/jane-backend-sc-595c58c75c-5m66n:/var/log/app.log ./app.log

【4】进入实例内部

你已经成功查看了命名空间 jtywb-jane 下的 Pod 列表,现在你想进入某个 Pod 的内部容器进行操作。下面是具体步骤:


✅ 步骤一:选择你要进入的 Pod

从你的输出中,可以选择任意一个 Pod,比如:

  • nginx-forward-6fdf747f68-mqglh
  • jane-backend-85cbcfcb7b-c5c77
  • jane-vue-88ff8489b-pzzrx

✅ 步骤二:使用 kubectl exec 进入 Pod 内部

情况1:Pod 中只有一个容器(大多数情况)

假设你要进入 jane-backend-85cbcfcb7b-c5c77,命令如下:

kubectl exec -it -n jtywb-jane jane-backend-85cbcfcb7b-c5c77 -- /bin/sh

如果提示 /bin/sh: command not found,说明容器可能使用的是 bash,尝试:

kubectl exec -it -n jtywb-jane jane-backend-85cbcfcb7b-c5c77 -- /bin/bash

情况2:Pod 中有多个容器(需要指定容器名)

如果你不确定是否是单个容器,可以先用下面命令查看容器名:

kubectl describe pod -n jtywb-jane jane-backend-85cbcfcb7b-c5c77

找到 Containers: 字段下的容器名称,例如 app-container,然后执行:

kubectl exec -it -n jtywb-jane jane-backend-85cbcfcb7b-c5c77 -c app-container -- /bin/sh

✅ 示例总结(以 jane-backend 为例):

# 进入 Pod 内部容器
kubectl exec -it -n jtywb-jane jane-backend-85cbcfcb7b-c5c77 -- /bin/sh

🔍 补充说明:

  • -it:表示交互式终端。
  • -n jtywb-jane:指定命名空间。
  • -- /bin/sh-- /bin/bash:表示在容器内启动一个 shell。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流烟默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值