概述

系统工具是 Rancher 自带的运维工具,您可以使用系统工具管理RKE 集群高可用集群。系统工具提供了logsstatsremove三类指令,分别对应以下三种用途:

下载系统工具

您可以从GitHub下载最新版的系统工具,下载时请根据您的操作系统选择对应的版本。

操作系统文件名称
MacOSsystem-tools_darwin-amd64
Linuxsystem-tools_linux-amd64
Windowssystem-tools_windows-amd64.exe

完成下载后,请完成以下步骤:

  1. 重命名您下载的系统工具文件为system-tools

  2. 执行以下命令,对system-tools文件开放执行权限。

    说明 如果系统工具已经是可执行文件,可以跳过此步骤。

    1. chmod +x system-tools

收集 Kubernetes 日志

指令介绍

收集 Kubernetes 日志的命令logs,它的用途是收集 RKE 集群高可用集群节点中,核心 Kubernetes 组件的日志文件。请参考常见故障排查,查看核心 Kubernetes 组件的列表。

系统工具使用 kubeconfig 文件部署 DaemonSet。这个 DaemonSet 的作用是将核心 Kubernetes 组件的所有日志文件复制一遍后,打包成一个 tar 文件(默认文件名称是cluster-logs.tar)。如果您需要收集单节点的日志,您可以在命令中指定节点,例如--node NODENAME-n NODENAME,将NODENAME替换为节点名称后,可以指定单个节点,只收集该节点的日志。

使用方法

  1. ./system-tools_darwin-amd64 logs --kubeconfig <KUBECONFIG>

logs指令有以下几种选项和使用方式:

选项描述
—kubeconfig <KUBECONFIG_PATH>, -c <KUBECONFIG_PATH>集群 kubeconfig 文件的路径
—output <FILENAME>, -o cluster-logs.tar系统工具 DaemonSet 打包的文件名称,默认文件名称是cluster-logs.tar ,您也可以修改为其他名称。
—node <NODENAME>, -n node1收集日志的节点范围。把 NODENAME 修改为节点名称后,您可以指定收集某一个节点的日志。如果没有指定节点,则默认收集该集群中全部节点的日志。

查看节点系统指标

指令介绍

查看节点系统指标的命令stats,它的用途是查看RKE 集群高可用集群中,节点的系统指标。

系统工具部署的 DaemonSet,会运行基于sar(System Activity Report)的预先定义好的指令,收集和显示系统指标。

使用方法

  1. ./system-tools_darwin-amd64 stats --kubeconfig <KUBECONFIG>

stats指令有以下几种选项和使用方式:

选项描述
—kubeconfig <KUBECONFIG_PATH>, -c <KUBECONFIG_PATH>集群 kubeconfig 文件的路径。
—node <NODENAME>, -n node1收集系统指标的节点范围。把 NODENAME 修改为节点名称后,您可以指定收集某一个节点的系统指标。如果没有指定节点,则默认收集该集群中全部节点的系统指标。
—stats-command value, -s value触发系统工具,显示系统参数的命令,默认命令是/usr/bin/sar -u -r -F 1 1

移除 Kubernetes 资源

指令介绍

警告: 这条命令会从 etcd 中移除数据。执行这条命令前,请检查是否已经完成etcd 节点备份

当您在 Kubernetes 集群中安装 Rancher 的时候,Rancher 会创建 Kubernetes 资源,用于运行 Rancher Server 和配置存储。如果您需要删除集群中的 Rancher,您可以使用remove命令,移除 Kubernetes 资源。执行remove命令会移除以下资源:

  • Rancher 部署的命名空间,默认名称是cattle-system

  • Rancher 通过cattle.io/creator:norman标签标记的serviceAccountclusterRolesclusterRoleBindings。使用 Rancher v2.1.0 或更新版本创建的所有及资源都会被打上cattle.io/creator:norman的标签。

  • 标签、备注和 finalizers。

  • Rancher Deployment。

  • 机器、集群、项目和用户相关的 CRD。

  • management.cattle.io API Group 内创建的所有资源。

  • 使用 Rancher v2.x 创建的所有 CRD。

说明: 如果您使用的2.0.8或之前的版本,执行remove命令后需要手动删除serviceAccountclusterRoleclusterRoleBindings 资源。

使用方法

执行remove 命名后,会从集群中移除上述的所有资源。

警告: 这条命令会从 etcd 中移除数据。执行这条命令前,请检查是否已经完成etcd 节点备份

  1. ./system-tools remove --kubeconfig <KUBECONFIG> --namespace <NAMESPACE>

remove指令有以下几种选项和使用方式:

选项描述
—kubeconfig <KUBECONFIG_PATH>, -c <KUBECONFIG_PATH>集群 kubeconfig 文件的路径。
—namespace <NAMESPACE>, -n cattle-systemRancher 2.x 部署的命名空间,如果没有指定命名空间,默认是cattle-system
—force跳过确认信息,强制执行移除命令。