KubeSphere Version:
3.1.0
kubernetes版本:
1.20.5
问题:
在第一次创建完成了,wordpress的这个应用,之后手动的更改服务:“wordpress” 由ClusterIP->“LoadBalancer”,一直卡在“更新中”的状态:
此时通过LoadBalancer 地址访问该服务正常,重新修改服务为成为“ClusterIP”后应用恢复成为“运行中”
截图
前端卡住状态:

Service服务访问状态:
Wordpress服务

该服务能够正常通过MetalLB的BGP地址正常访问。

application状态(显示Ready ⅘):



service状态:

略.. managedFields..略

附:不知是不是application 控制器 该段代码对Service 进行了状态检查:
// Service
func serviceStatus(u *unstructured.Unstructured) (string, error) {
service := &corev1.Service{}
if err := runtime.DefaultUnstructuredConverter.FromUnstructured(u.Object, service); err != nil {
return StatusUnknown, err
}
stype := service.Spec.Type
if stype == corev1.ServiceTypeClusterIP || stype == corev1.ServiceTypeNodePort || stype == corev1.ServiceTypeExternalName ||
stype == corev1.ServiceTypeLoadBalancer && isEmpty(service.Spec.ClusterIP) &&
len(service.Status.LoadBalancer.Ingress) > 0 && !hasEmptyIngressIP(service.Status.LoadBalancer.Ingress) {
return StatusReady, nil
}
return StatusInProgress, nil
}
https://github.com/kubesphere/kubesphere/blob/e9c963c58df4f5fced2d1bf82a0e893e4d4621b8/pkg/controller/application/status.go#L189