跳转到内容

vpm 与集群状态

vpm 是负责将 Customer Edge 注册到租户并监管平台容器的代理。当节点无法上线时,首先需要确认其状态。

Terminal window
execcli systemctl-status-vpm
● vpm.service - VP Manager service
Loaded: loaded (/etc/systemd/system/vpm.service; enabled; preset: disabled)
Active: active (running) since Tue 2026-07-28 18:07:43 UTC; 2h 36min ago
Main PID: 11329 (docker)
Tasks: 10 (limit: 204889)
Memory: 14.9M
CPU: 496ms
CGroup: /system.slice/vpm.service
└─11329 /usr/bin/docker run --rm --name vpm --net=host --privileged -v /dev:/dev -v /bin/udevadm:/bin/udevadm -v /etc/:/hostetc/:rw -v /opt/:/hostopt/:rw -v /:/hostos/:ro -v /usr/bin/:/hostusr/bin/:ro -v /e…
Jul 28 20:40:47 f5-xc-ce-vm-01 vpm[11329]: etcd.go:123: Holding dictator lock for path /_lock/dictator
Jul 28 20:41:44 f5-xc-ce-vm-01 vpm[11329]: module.go:84: Running intra-cluster, type: node
Jul 28 20:41:44 f5-xc-ce-vm-01 vpm[11329]: pinger.go:38: Stats for connectivity-check: <name: intra-cluster, type: intra-cluster, success: true>
Jul 28 20:42:44 f5-xc-ce-vm-01 vpm[11329]: module.go:84: Running intra-cluster, type: node
Jul 28 20:42:44 f5-xc-ce-vm-01 vpm[11329]: module.go:90: Running intra-cluster, type: fabric
Jul 28 20:42:44 f5-xc-ce-vm-01 vpm[11329]: pinger.go:38: Stats for connectivity-check: <name: fabric, type: fabric, success: true>
Jul 28 20:42:44 f5-xc-ce-vm-01 vpm[11329]: pinger.go:38: Stats for connectivity-check: <name: intra-cluster, type: intra-cluster, success: true>
Jul 28 20:42:50 f5-xc-ce-vm-01 vpm[11329]: etcd.go:123: Holding dictator lock for path /_lock/dictator
Jul 28 20:43:44 f5-xc-ce-vm-01 vpm[11329]: module.go:84: Running intra-cluster, type: node
Jul 28 20:43:44 f5-xc-ce-vm-01 vpm[11329]: pinger.go:38: Stats for connectivity-check: <name: intra-cluster, type: intra-cluster, success: true>

关注要点。

  • Active: active (running) since … 及其已运行时长。若节点已运行数小时,而 vpm 却在数分钟前刚重启,这是一个警示信号——注册失败会以重启循环的形式呈现,往往早于在租户侧的表现。
  • Main PIDdocker vpm 以特权 Docker 容器方式运行,而非原生进程,启动时使用了 --net=host --privileged 参数,并挂载了大量宿主机目录,包括 //dev/etc。因此 vpm 会出现在 docker-ps 中,而不会出现在 crictl-ps 中——这也是为什么 CE 上 docker-ps 显示三条记录是完整状态,而非异常症状。
  • 末尾的日志行。statusreporter.go: Status reporter loop has finished without error, sleeping for 5m… 是健康的稳定状态:vpm 大约每五分钟上报一次。module.go: Running intra-cluster, type: node 表示它已成功加入集群,而非以独立模式运行。

此命令无法告知的信息。 它不反映租户是否接受了注册请求。一个完全健康的 vpm 可能会持续不断地尝试连接一个拒绝其接入的控制面——请通过日志行查看具体原因。

Terminal window
execcli systemctl-restart-vpm

支撑 CE 的 Kubernetes 控制面的 etcd 集群,从本节点上的 etcd Pod 查询。

Terminal window
execcli etcdctl-cluster-member-status
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://etcd-0.etcd:2379 | dc946acaf076bc59 | 3.5.11 | 2.8 MB | true | false | 3 | 1981 | 1981 | |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+

关注要点。 IS LEADERRAFT TERM,以及 RAFT INDEXRAFT APPLIED INDEX 是否一致。若两者之间存在持续差距,说明该成员的日志应用落后于日志记录。ERRORS 为空是健康状态。