mirror of
https://github.com/beclab/Olares
synced 2026-04-21 21:47:56 +00:00
163 lines
12 KiB
Markdown
163 lines
12 KiB
Markdown
|
|
# `status`
|
|||
|
|
|
|||
|
|
## 命令说明
|
|||
|
|
|
|||
|
|
`status` 命令通过调用本机 olaresd 守护进程的 `/system/status` HTTP 接口,输出当前 Olares 系统的状态。
|
|||
|
|
|
|||
|
|
该接口绑定在 `127.0.0.1:18088`,仅接受本地回环流量,因此 `status` 命令必须与 olaresd 运行在同一台机器(通常是主节点)上。
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
olares-cli status [选项]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
默认输出按以下分组展示,便于人工阅读:
|
|||
|
|
|
|||
|
|
- **Olares**:安装生命周期、版本、用户名、关键时间戳。
|
|||
|
|
- **System**:主机的硬件和操作系统信息。
|
|||
|
|
- **Network**:有线/Wi-Fi 连接状态、内/外网 IP 地址。
|
|||
|
|
- **Install / Uninstall**:正在进行的安装或卸载进度。
|
|||
|
|
- **Upgrade**:正在进行的升级进度(包括下载阶段和安装阶段)。
|
|||
|
|
- **Logs collection**:最近一次日志收集任务的状态。
|
|||
|
|
- **Pressures**:节点上当前激活的 kubelet 节点压力条件(若有)。
|
|||
|
|
- **Other**:FRP、容器模式等其他信息。
|
|||
|
|
|
|||
|
|
加上 `--json` 可以输出 olaresd 返回的原始 JSON,便于脚本化处理或与 `jq` 等工具配合使用。
|
|||
|
|
|
|||
|
|
## 选项
|
|||
|
|
|
|||
|
|
| 选项 | 用途 | 是否必需 | 默认值 |
|
|||
|
|
|--------------|----------------------------------------------------------------------------------------------|----------|--------------------------|
|
|||
|
|
| `--endpoint` | 本机 olaresd 守护进程的基础 URL。仅当 olaresd 监听在非默认地址时才需要修改。 | 否 | `http://127.0.0.1:18088` |
|
|||
|
|
| `--json` | 直接输出 olaresd 返回的原始 JSON(即响应中的 `data` 字段),适合配合 `jq` 等工具使用。 | 否 | `false` |
|
|||
|
|
| `--timeout` | 等待 olaresd 响应的最长时间。 | 否 | `5s` |
|
|||
|
|
| `--help` | 显示命令帮助。 | 否 | 无 |
|
|||
|
|
|
|||
|
|
## 使用示例
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 默认输出:分组的人工可读报表
|
|||
|
|
olares-cli status
|
|||
|
|
|
|||
|
|
# 原始 JSON 输出,原样转发自 olaresd
|
|||
|
|
olares-cli status --json | jq
|
|||
|
|
|
|||
|
|
# 指定守护进程地址并延长超时时间
|
|||
|
|
olares-cli status --endpoint http://127.0.0.1:18088 --timeout 10s
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 字段参考
|
|||
|
|
|
|||
|
|
下表列出 olaresd 返回的字段(即 JSON 响应中 `data` 对象的字段),以及它们在分组输出中显示的标签。
|
|||
|
|
|
|||
|
|
### Olares
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|------------------|--------------------|--------------------------------------------------------------------------------------------|
|
|||
|
|
| State | `terminusState` | 系统的高层状态,详见 [状态值列表](#状态值列表)。 |
|
|||
|
|
| Olaresd state | `terminusdState` | olaresd 守护进程自身的生命周期:启动初始化时为 `initialize`,初始化完成后为 `running`。 |
|
|||
|
|
| Name | `terminusName` | 管理员的 Olares ID,例如 `alice@olares.cn`。 |
|
|||
|
|
| Version | `terminusVersion` | 已安装的 Olares 版本(语义化版本号)。 |
|
|||
|
|
| Olaresd version | `olaresdVersion` | 当前运行的 olaresd 二进制版本。可用于排查升级后的版本漂移。 |
|
|||
|
|
| Installed at | `installedTime` | Olares 安装完成时间(Unix 时间戳,单位秒)。 |
|
|||
|
|
| Initialized at | `initializedTime` | 管理员完成初始激活的时间(Unix 时间戳,单位秒)。 |
|
|||
|
|
|
|||
|
|
### System
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|------------|---------------|--------------------------------------------|
|
|||
|
|
| Device | `device_name` | 用户友好的设备/机型名称。 |
|
|||
|
|
| Hostname | `host_name` | 内核报告的主机名。 |
|
|||
|
|
| OS | `os_type` / `os_arch` / `os_info` | 操作系统类型、CPU 架构、发行版描述。 |
|
|||
|
|
| OS version | `os_version` | 操作系统版本号,例如 `22.04`。 |
|
|||
|
|
| CPU | `cpu_info` | CPU 型号。 |
|
|||
|
|
| Memory | `memory` | 物理内存总量,格式为 `<N> G`。 |
|
|||
|
|
| Disk | `disk` | 数据分区的文件系统总容量,格式为 `<N> G`。 |
|
|||
|
|
| GPU | `gpu_info` | 检测到的 GPU 型号(若有)。 |
|
|||
|
|
|
|||
|
|
### Network
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|-------------|------------------|---------------------------------------------------------------------|
|
|||
|
|
| Wired | `wiredConnected` | 检测到有线连接时为 `yes`。 |
|
|||
|
|
| Wi-Fi | `wifiConnected` | 默认路由走 Wi-Fi 时为 `yes`。 |
|
|||
|
|
| Wi-Fi SSID | `wifiSSID` | 已连接 Wi-Fi 的 SSID。 |
|
|||
|
|
| Host IP | `hostIp` | Olares 用于互联的内网 IPv4 地址。 |
|
|||
|
|
| External IP | `externalIp` | 通过外部探测获取的公网 IPv4 地址(每分钟最多刷新一次)。 |
|
|||
|
|
|
|||
|
|
### Install / Uninstall
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|---------------|-------------------------|-------------------------------------------------------------------|
|
|||
|
|
| Installing | `installingState` | 进行中的安装任务的生命周期:`in-progress`、`completed`、`failed`。 |
|
|||
|
|
| | `installingProgress` | 当前安装步骤的描述(在分组输出中以括号形式跟随显示)。 |
|
|||
|
|
| Uninstalling | `uninstallingState` | 进行中的卸载任务的生命周期。 |
|
|||
|
|
| | `uninstallingProgress` | 当前卸载步骤的描述。 |
|
|||
|
|
|
|||
|
|
### Upgrade
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|----------------|--------------------------------|----------------------------------------------------------------------------|
|
|||
|
|
| Target | `upgradingTarget` | 进行中升级的目标版本。 |
|
|||
|
|
| State | `upgradingState` | 升级安装阶段的生命周期。 |
|
|||
|
|
| | `upgradingProgress` | 升级安装阶段的进度描述(括号显示)。 |
|
|||
|
|
| Step | `upgradingStep` | 当前升级步骤的名称。 |
|
|||
|
|
| Last error | `upgradingError` | 升级安装阶段最近一次报错信息。 |
|
|||
|
|
| Download state | `upgradingDownloadState` | 升级下载阶段的生命周期。 |
|
|||
|
|
| | `upgradingDownloadProgress` | 升级下载阶段的进度描述(括号显示)。 |
|
|||
|
|
| Download step | `upgradingDownloadStep` | 当前下载步骤的名称。 |
|
|||
|
|
| Download error | `upgradingDownloadError` | 升级下载阶段最近一次报错信息。 |
|
|||
|
|
| Retry count | `upgradingRetryNum` | 升级被自动重试的次数(仅当大于 0 时显示)。 |
|
|||
|
|
| Next retry at | `upgradingNextRetryAt` | 下一次重试的预定时间(仅当存在时显示)。 |
|
|||
|
|
|
|||
|
|
### Logs collection
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|------------|--------------------------|-----------------------------------------------------------------------|
|
|||
|
|
| State | `collectingLogsState` | 通过 olaresd 触发的最近一次日志收集任务的生命周期。 |
|
|||
|
|
| | `collectingLogsError` | 最近一次日志收集任务的错误信息(括号显示)。 |
|
|||
|
|
|
|||
|
|
### Pressures
|
|||
|
|
|
|||
|
|
`pressures` 数组列出当前节点上为真的 kubelet 节点压力条件。当节点健康时,分组输出中会显示 `(none)`。
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|---------|-----------|---------------------------------------------------------------------|
|
|||
|
|
| Type | `type` | Kubernetes 节点条件类型,例如 `MemoryPressure`、`DiskPressure`。 |
|
|||
|
|
| Message | `message` | kubelet 给出的可读说明。 |
|
|||
|
|
|
|||
|
|
### Other
|
|||
|
|
|
|||
|
|
| 字段 | JSON Key | 含义 |
|
|||
|
|
|----------------|---------------------|---------------------------------------------------------------------|
|
|||
|
|
| FRP enabled | `frpEnable` | FRP 反向通道是否启用(来自环境变量 `FRP_ENABLE`)。 |
|
|||
|
|
| FRP server | `defaultFrpServer` | FRP 服务器地址(来自环境变量 `FRP_SERVER`)。 |
|
|||
|
|
| Container mode | `containerMode` | olaresd 运行在容器内时设置(来自环境变量 `CONTAINER_MODE`)。 |
|
|||
|
|
|
|||
|
|
## 状态值列表
|
|||
|
|
|
|||
|
|
`terminusState` 字段可能取以下值。CLI 也使用同一份枚举生成描述,因此下表始终与 CLI 输出保持一致。
|
|||
|
|
|
|||
|
|
| 取值 | 含义 |
|
|||
|
|
|-----------------------|-----------------------------------------------------------------|
|
|||
|
|
| `checking` | olaresd 还未完成首次状态探测。 |
|
|||
|
|
| `network-not-ready` | 未检测到可用的内网 IPv4 地址。 |
|
|||
|
|
| `not-installed` | 当前节点未安装 Olares。 |
|
|||
|
|
| `installing` | Olares 正在安装中。 |
|
|||
|
|
| `install-failed` | 最近一次安装失败。 |
|
|||
|
|
| `uninitialized` | Olares 已安装,但管理员账户尚未激活。 |
|
|||
|
|
| `initializing` | 管理员账户正在激活中。 |
|
|||
|
|
| `initialize-failed` | 管理员账户激活失败。 |
|
|||
|
|
| `terminus-running` | Olares 运行正常。 |
|
|||
|
|
| `restarting` | 节点刚刚重启,状态会在短时间内稳定。 |
|
|||
|
|
| `invalid-ip-address` | 节点 IP 已变更,需要执行 `change-ip` 恢复。 |
|
|||
|
|
| `ip-changing` | `change-ip` 操作正在进行。 |
|
|||
|
|
| `ip-change-failed` | 最近一次 `change-ip` 操作失败。 |
|
|||
|
|
| `system-error` | 关键 Pod 未正常运行。 |
|
|||
|
|
| `self-repairing` | olaresd 正在尝试自动修复。 |
|
|||
|
|
| `adding-node` | 正在加入 worker 节点。 |
|
|||
|
|
| `removing-node` | 正在移除 worker 节点。 |
|
|||
|
|
| `uninstalling` | Olares 正在卸载中。 |
|
|||
|
|
| `upgrading` | 升级正在执行中。 |
|
|||
|
|
| `disk-modifing` | 存储布局正在调整中。 |
|
|||
|
|
| `shutdown` | 系统正在关机。 |
|