1 - 如何获取CSI版本信息
本章节指导用户如何查看CSI版本信息。
操作步骤
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录Kubernetes集群的任意master节点。
执行以下命令,查看huawei-csi-node所在节点信息。
kubectl get pod -A -owide | grep huawei-csi-node
命令结果示例如下:
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES huawei-csi huawei-csi-node-87mss 3/3 Running 0 6m41s 192.168.129.155 node-1 <none> <none> huawei-csi huawei-csi-node-xp8cc 3/3 Running 0 6m41s 192.168.129.156 node-2 <none> <none
使用远程访问工具(以PuTTY为例),通过节点IP地址,登录任意huawei-csi-node所在节点。
执行以下命令,查看CSI版本信息。
cat /var/lib/kubelet/plugins/csi.huawei.com/version
命令显示版本信息如下。
4.5.0
2 - 如何查看华为CSI日志
查看huawei-csi-controller服务的日志
执行以下命令,获取huawei-csi-controller所在的节点
kubectl get pod -A -o wide | grep huawei
命令结果示例如下,其中IP为节点主机ip,NODE为节点主机名称。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES huawei-csi-controller-695b84b4d8-tg64l 9/9 Running 0 14s <host1-ip> <host1-name> <none> <none>
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录Kubernetes集群中huawei-csi-controller服务所在节点
进入日志目录。
cd /var/log/huawei
执行以下命令,查看容器自定义输出日志。
vi huawei-csi-controller
进入容器目录。
cd /var/log/containers
执行以下命令, 查看容器标准输出日志。
vi huawei-csi-controller-<name>_huawei-csi_huawei-csi-driver-<contrainer-id>.log
查看huawei-csi-node服务的日志
执行以下命令,获取huawei-csi-node所在的节点
kubectl get pod -A -o wide | grep huawei
命令结果示例如下,其中IP为节点主机ip,NODE为节点主机名称。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES huawei-csi-node-g6f7z 3/3 Running 0 14s <host2-ip> <host2-name> <none> <none>
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录Kubernetes集群中huawei-csi-node服务所在节点
进入日志目录。
cd /var/log/huawei
执行以下命令,查看容器自定义输出日志。
vi huawei-csi-node
进入容器目录。
cd /var/log/containers
执行以下命令, 查看容器标准输出日志。
vi huawei-csi-node-<name>_huawei-csi_huawei-csi-driver-<contrainer-id>.log
3 - 日志收集
前置检查
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录Kubernetes集群内有oceanctl工具的节点。
执行以下命令,显示版本号为v4.5.0。
oceanctl version
命令结果示例如下:
Oceanctl Version: v4.5.0
执行oceanctl collect logs –help命令,返回信息如下。
$ oceanctl collect logs --help Collect logs of one or more nodes in specified namespace in Kubernetes Usage: oceanctl collect logs [flags] Examples: # Collect logs of all nodes in specified namespace oceanctl collect logs -n <namespace> # Collect logs of specified node in specified namespace oceanctl collect logs -n <namespace> -N <node> # Collect logs of all nodes in specified namespace oceanctl collect logs -n <namespace> -a # Collect logs of all nodes in specified namespace with a maximum of 50 nodes collected at the same time oceanctl collect logs -n <namespace> -a --threads-max=50 # Collect logs of specified node in specified namespace oceanctl collect logs -n <namespace> -N <node> -a Flags: -a, --all Collect all nodes messages -h, --help help for logs -n, --namespace string namespace of resources -N, --nodename string Specify the node for which information is to be collected. --threads-max int set maximum number[1~1000] of threads for nodes to be collected. (default 50) Global Flags: --log-dir string Specify the directory for printing log files. (default "/var/log/huawei")
执行以下命令,检查Pod是否正常启动,其中,huawei-csi为CSI安装的命名空间。
kubectl get deployment -n huawei-csi
命令结果示例如下:
NAME READY UP-TO-DATE AVAILABLE AGE huawei-csi-controller 1/1 1 1 21h
使用oceanctl收集CSI命名空间下所有日志
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录前置检查章节中检查的节点。
执行oceanctl collect logs -n <namespace> -a –threads-max=<max_node_processing_num>命令,收集集群内所有CSI容器所在节点的CSI日志,其中threads-max参数指定了同时收集日志的最大节点数量,默认为50,可以根据主机性能与负载情况配置。
oceanctl collect logs -n huawei-csi -a --threads-max=10
检查/tmp目录下生成的日志压缩包,可以使用unzip <zip_name> -d collect_logs解压日志压缩包,其中<zip_name>为压缩包的名字。
# date Wed Sep 20 02:49:24 EDT 2023 # ls huawei-csi-2023-09-20-02:48:22-all.zip
使用oceanctl收集CSI单个节点日志
使用远程访问工具(以PuTTY为例),通过管理IP地址,登录前置检查章节中检查的节点。
执行oceanctl collect logs -n <namespace> -N <nodeName>命令,收集集群内所有CSI容器所在节点的CSI日志。
oceanctl collect logs -n huawei-csi -N node-1
检查/tmp目录下生成的日志压缩包,可以使用unzip <zip_name> -d collect_logs解压日志压缩包,其中<zip_name>为压缩包的名字。
# date Thu Sep 21 04:08:47 EDT 2023 # ls huawei-csi-2023-09-21-04:05:15-node-1.zip