Logging

日志级别

Rancher 使用了以下日志级别:

名称描述
info记录信息性消息。这是默认的日志级别。
debug记录可用于调试的更详细消息。
trace记录内部功能的非常详细的消息。非常冗长,并且可能包含敏感信息。

如何配置日志级别

Kubernetes 安装

  • 配置 debug 日志级别
  1. $ KUBECONFIG=./kube_config_cluster.yml
  2. $ kubectl -n cattle-system get pods -l app=rancher --no-headers -o custom-columns=name:.metadata.name | while read rancherpod; do kubectl -n cattle-system exec $rancherpod -c rancher -- loglevel --set debug; done
  3. OK
  4. OK
  5. OK
  6. $ kubectl -n cattle-system logs -l app=rancher -c rancher
  • 配置 info 日志级别
  1. $ KUBECONFIG=./kube_config_cluster.yml
  2. $ kubectl -n cattle-system get pods -l app=rancher --no-headers -o custom-columns=name:.metadata.name | while read rancherpod; do kubectl -n cattle-system exec $rancherpod -c rancher -- loglevel --set info; done
  3. OK
  4. OK
  5. OK

Docker 安装

  • 配置 debug 日志级别
  1. $ docker exec -ti <container_id> loglevel --set debug
  2. OK
  3. $ docker logs -f <container_id>
  • 配置 info 日志级别
  1. $ docker exec -ti <container_id> loglevel --set info
  2. OK

Rancher 主机调试日志

如果需要解决在基础设施提供商中创建对象的问题,你可以使用 rancher-machine 调试日志。

你可以在启动 Rancher 时设置环境变量来为 rancher-machine 启用调试日志。

CATTLE_WHITELIST_ENVVARS 环境变量允许用户将特定环境变量列入白名单,让它们能在配置期间传递给 rancher-machine

MACHINE_DEBUG 变量在 rancher-machine 中启用调试日志。

因此,通过设置 MACHINE_DEBUG=true 并将 MACHINE_DEBUG 添加到 CATTLE_WHITELIST_ENVVARS 中的变量默认列表(例如 CATTLE_WHITELIST_ENVVARS=HTTP_PROXY,HTTPS_PROXY,NO_PROXY,MACHINE_DEBUG),你可以在配置 RKE1、RKE2 和 K3s 集群时在 rancher-machine 中启用调试日志。

Logging - 图1警告

像上面的 trace 日志级别一样,rancher-machine 调试日志可以包含敏感信息。