【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)

AKS,Node,方法,日志 · 浏览次数 : 139

小编点评

## 查看节点的系统日志的方法 1. **登录到AKS集群**:登录到您的AKS集群,并获取节点信息。 2. **创建Debug Pod**:通过`kubectl create -f debug-pod.yaml`命令创建一个debug pod,并通过`kubectl get node`获取节点的结果。 3. **提升权限**:使用`sudo chroot /host`提升权限。 4. **使用grep进行关键字查询**:使用`grep -r installed /var/log`等命令搜索包含“installed”关键字的文件名和内容所在的行号。 5. **查看完日志后,退出节点并删除 Debug POD**:退出节点,并将Debug POD删除。 **注意:** * `debug-pod.yaml`文件需要根据您的节点操作系统和日志文件路径进行修改。 * 可以使用`grep`搜索其他关键字,例如系统升级记录。 * 可以将结果保存到文本文件中。

正文

问题描述

使用Azure Kubernetes服务(AKS),可以通过kubectl连接 pod 中查看日志,但是如何来查看节点的系统日志呢?如是否有ubuntu系统升级的记录?

 

问题解答

是的,可以进入AKS的节点查看系统文件,如日志文件(/var/log) 或者由应用生产的其他日志。

 

具体的操作步骤如下:

第一步: 登录到AKS集群,并获取节点信息

## 设置 az cli命令的执行环境为 中国区Azure AzureChinaCloud
az cloud set --name AzureChinaCloud
## 登录到Azure,在弹出的对话框中输入用户名和密码 az login # get the credentials for the cluster ## -g 后面输入您aks服务所在的resource group名称 ## -n 表示aks服务的名称 az aks get-credentials -g 'aks-rg' -n myaks001 ## 获取节点信息 kubectl get node

获取节点的结果示意图:

第二步:创建一个Debug Pod, 通过它查看日志文件

kubectl debug node/<替换成第一步查找出来的Node ID> -it --image=mcr.azk8s.cn/dotnet/runtime-deps:6.0

第三步:chroot /host 提升权限 

## 提升权限 
chroot /host

如果不提升权限,则很多日志文件无法查看。对比效果如下:

第四步:使用 grep 进行关键字查询

如通过 cat dpkg.log | grep ubuntu 来查看是否由系统级升级行为

 也可以在这个文件夹中搜索关键字:

# 在 /var/log 文件夹中查看 包含“installed” 关键字的文件名和内容所在的行号
grep -r installed /var/log

第五步:  查看完日志后,退出节点并删除 Debug POD

exit

kubectl get pod

kubectl delete pod node-debugger-aks-agentpool-XXXXXXXXXXXXXXXXXXXXXXXXXXXX

命令执行示意图:

 

通过以上5步,完成查看日志并清理操作痕迹。

 

参考资料

安装 Kubernetes CLI : https://docs.azure.cn/zh-cn/aks/tutorial-kubernetes-deploy-cluster?tabs=azure-cli#install-the-kubernetes-cli

在 Windows 上安装 kubectl : https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/#install-kubectl-on-windows

 

 

与【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)相似的内容:

【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)

问题描述 使用Azure Kubernetes服务(AKS),可以通过kubectl连接 pod 中查看日志,但是如何来查看节点的系统日志呢?如是否有ubuntu系统升级的记录? 问题解答 是的,可以进入AKS的节点查看系统文件,如日志文件(/var/log) 或者由应用生产的其他日志。 具体的操作

【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案

Failed to pull image "k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.1.2-r2": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled wh

【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例

问题描述 在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例 问题解答 在Azure Kubernetes Service(AKS)的官方网站中,关于存储的选项介绍中,并没有具体的yaml实例来创建PV, PVC。特别是使用自定

【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小

问题描述 在前两篇文章中,创建了Disk + PV + PVC + POD 方案后,并且进入POD中增加文件。 【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例 【Azure K8S|AKS】

【Azure K8S | AKS】在AKS中创建 StatefulSet 示例

问题描述 【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例 【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况 【Azure K8S |

【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况

问题描述 在昨天的文章中,创建了 Disk + PV + PVC + POD 方案(https://www.cnblogs.com/lulight/p/17604441.html),那么如何进入到POD之中去查看文件呢? 如PVC Volume Mounts中文件? 问题解答 第一步:进入POD内部

【Azure K8S】演示修复因AKS密钥过期而导致创建服务不成功的问题(The provided client secret keys for app ****** are expired)

问题描述 在Azure Kubernetes 服务中,创建一个Internal Load Balancer服务,使用以下yaml内容: internallb.yaml apiVersion: v1 kind: Service metadata: name: ilb-myapp annotations

【Azure K8S】AKS升级 Kubernetes version 失败问题的分析与解决

问题描述 创建Azure Kubernetes Service服务后,需要升级AKS集群的 kubernetes version。在AKS页面的 Cluster configuration 页面中,选择新的版本 1.25.5,确认升级。等待50分钟左右,却等到了升级失败的消息: Failed to

【Azure K8S】记录AKS VMSS实例日志收集方式

问题描述 如何从AKS的VMSS集群中收集实例日志? 参考步骤 第一步:登陆VMSS实例 参考官网步骤:使用 SSH 连接到 Azure Kubernetes 服务 (AKS) 群集节点以进行维护或故障排除: https://docs.azure.cn/zh-cn/aks/ssh#configure

【Azure APIM】APIM self-host 部署在K8S中,如何更换证书呢?

问题描述 APIM self-host(自建网关)部署在K8S中,如何在本地上传及更换证书呢? 问题解答 如果使用Self-host网关,则不支持使用上传到 APIM的 CA 根证书验证服务器和客户端证书。 若要建立信任,请配置特定的客户端证书,使其被网关作为一个自定义的证书颁发机构所信任,使用网关