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

AKS ,VMSS,方式,K8S · 浏览次数 : 21

小编点评

**收集 AKs VMSS 集群实例日志的步骤:** **1. 登入 VMSS 实例:** - 使用 SSH 连接到 AKS 群集节点。 - 使用 az CLI 脚本配置 SSH 连接。 **2. 收集日志文件并打包:** - 使用 `journalctl` 命令收集实例日志。 - 将日志文件打包到 `logsCollection.tgz` 文件中。 - 创建 `logsCollection` 目录并将日志文件复制到该目录中。 **3. 重启 Kubernetes 和收集新的日志文件:** - 使用 `kubectl get nodes -o widekubectl debug node/aks-XXXXXXXXXXXXXXXXXXXXXXXXXXXX` 命令获取 Kubernetes 管理节点信息。 - 使用 `journalctl` 命令收集 Kubernetes 管理节点的日志。 - 将新的日志文件打包到 `logsCollection.tgz` 文件中。 **4. 下载日志文件:** - 使用 `kubectl cp` 命令从 Kubernetes 管理节点上下载日志文件。 - 使用 `vi` 等编辑器重新打开终端窗口。 - 将 `logsCollection.tgz` 放在新窗口中。 **5. 验证日志文件:** - 验证 `logsCollection.tgz` 文件是否包含实例日志。

正文

问题描述

如何从AKS的VMSS集群中收集实例日志?

 

参考步骤

第一步:登陆VMSS实例

参考官网步骤:使用 SSH 连接到 Azure Kubernetes 服务 (AKS) 群集节点以进行维护或故障排除: https://docs.azure.cn/zh-cn/aks/ssh#configure-virtual-machine-scale-set-based-aks-clusters-for-ssh-access

示例 az CLI 脚本:

az login 

az account set --subscription <subscription id>

az aks get-credentials --resource-group <resource group> --name <aks name>

kubectl get nodes -o wide

kubectl debug node/aks-XXXXXXXXXXXXXXXXXXXXXXXXXXXX  -it --image=mcr.azk8s.cn/aks/fundamental/base-ubuntu:v0.0.11

 

 

第二步:收集日志文件并打包到 /tmp/logsCollection/logsCollection.tgz 

cd /tmp/

mkdir logsCollection

 

journalctl -u kubelet > logsCollection/kubelet.log  date > logsCollection/dateOutput.txt  last > logsCollection/lastOutput.txt

 

cp -r /var/log/* /tmp/logsCollection/

ll /tmp/logsCollection/

tar zcvf logsCollection.tgz logsCollection/*

 

如果遇见 journalctl 没有日志,可以参考博文:

  1. No journal files were found : https://www.cnblogs.com/dream397/p/14061295.html  
  2. bash: vi: command not found
vi systemd-journald.service
#bash: vi: command not found apt
-get install vim
// 第一次安装 vim 失败,升级 apt-get apt
-get update apt-get install vim

 

 

第三步:拷贝到本地

  • 重新打开一个终端窗口
  • 在新窗口中使用kubectl cp命令将文件拷贝到本地
kubectl cp <node-debugger-aks-????-??????-vmss000003-???>:host/tmp/logsCollection.tgz ./logsCollection.tgz
 
## 在Windows操作
 
kubectl cp <node-debugger-aks-????-??????-vmss000003-???>:host/tmp/logsCollection.tgz ./logsCollection.zip

 

 

参考资料

使用 SSH 连接到 Azure Kubernetes 服务 (AKS) 群集节点以进行维护或故障排除 : https://docs.azure.cn/zh-cn/aks/ssh#configure-virtual-machine-scale-set-based-aks-clusters-for-ssh-access

 

与【Azure K8S】记录AKS VMSS实例日志收集方式相似的内容:

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

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

【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密钥过期而导致创建服务不成功的问题(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】在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 APIM】APIM self-host 部署在K8S中,如何更换证书呢?

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

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)

在前一篇文章中,我们是把.NET 8应用读取SSL证书(X509)示例部署在App Service Windows环境中,那么如果部署在Linux环境,以及Linux Container中呢? 根据前文中的第一种方法,直接在把证书文件包含在源文件中,通过相对路径读取证书文件的方式,经测试,可以正常工