故障:最近机房意外断电,导致所有虚拟机关机,等来电之后,开启了所有虚拟机,业务均恢复正常,奇怪的是 Tanzu Workload Management (Supervisor 集群)的状态为NotReady,导致部分业务pod不能正常访问。

如下图所示:

image.png image.png

①登录到主管集群报错

kubectl vsphere login —server=192.168.230.31 —vsphere-username administrator@vsphere.local —insecure-skip-tls-verify

Password:

FATA[0004] Failed to get available workloads: bad gateway

Please contact your vSphere server administrator for assistance.

②我的第一直觉是去查看 vSphere Client 中的工作负载管理(菜单 –> 工作负载管理),集群Cluster-01的配置状态处于处于错误状态,并显示了如图所示的报错信息。

image.png

image.png

③检查WCP服务是否正常

a. 通过ssh登录到vCenter Server服务器。

root@vcsa [ ~ ]# vmon-cli —status wcp

Name: wcp

Starttype: AUTOMATIC

RunState: STARTED

RunAsUser: root

CurrentRunStateDuration(ms): 72360341

HealthState: UNHEALTHY

FailStop: N/A

MainProcessId: 15679

显示的健康状况为:UNHEALTHY

b.重启WCP服务

root@vcsa [ ~ ]# vmon-cli —restart wcp

Completed Restart service request.

root@vcsa [ ~ ]# vmon-cli —status wcp

Name: wcp

Starttype: AUTOMATIC

RunState: STARTED

RunAsUser: root

CurrentRunStateDuration(ms): 9709

HealthState: HEALTHY

FailStop: N/A

MainProcessId: 46317

显示的健康状况为:HEALTHY

④再次检查节点健康状况,还是显示该节点状态还是显示NotReady,故障节点10.244.0.2

image.png

⑤通过万能的谷歌,查找一番资料之后,决定着手vSphere ESXi Agent Manager

vSphere ESX Agent Manager概念:

vSphere ESX Agent Manager 使部署和管理 ESX 和 ESXi 代理的过程自动化,从而扩展了主机的功能以向 vSphere 解决方案提供附加服务。

① 在vSphere Client 的【菜单】 -> 【系统管理】 -> 【vCenter 扩展插件】 -> 【vSphere ESXi Agent Manager】下找到 EAM 。

如下图所示:

image.png

②可以通过【配置】选项卡找到三个 Supervisor 控制平面 VM ,找到机构名称为vmware-vsc-apiserver-xxxxxx。通过选择名称左侧的三个点,它为我们提供了两个选项【删除机构】以及【解决所有问题】。

如下图所示:

image.png

③ 这3台主管平台的虚拟机是实现对 vSphere 工作负载支持的 VMware 代理。其生命周期操作由 VMware vCenter Server 管理。

④如何将这3台主管平台的虚拟机与现实的虚拟机进行对应:

返回到vCenter,找到有问题的SupervisorControlPlaneVM,如下图所示:

image.png

⑤确定好了 EAM Agency: vmware-vsc-apiserver-thn4v2,再次返回到 vSphere ESX Agent Manager,首先选择了【解决所有问题】选项,但它没有解决问题。

⑥Supervisor 集群是一个由三个成员组成的高可用架构,并且它当前处于降级状态,接着点击【删除机构】,受影响的虚拟机被删除,等待几分钟,一个新的SupervisorControlPlane虚拟机将会自动生成并配置。

image.png

⑦等待新的SupervisorControlPlane虚拟机配置完成之后,再次查看节点信息,恢复到Ready状态。

⑧esxi主机处于NotReady状态,需要通过web登录到esxi的界面,重启下【spherelet】服务,并及时跟踪下日志:tail -f /var/log/sphere.log,如果启动报错,需要重启下主机的【hostd】服务。

image.png

image.png