mirror of
https://github.com/kubevela/kubevela.git
synced 2026-02-14 18:10:21 +00:00
Fix: api-server fail to start, when multi-cluster is disabled (#3501)
Signed-off-by: StevenLeiZhang <zhangleiic@163.com>
This commit is contained in:
@@ -17,6 +17,8 @@ limitations under the License.
|
||||
package clients
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"k8s.io/client-go/discovery"
|
||||
"k8s.io/client-go/rest"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
@@ -25,6 +27,7 @@ import (
|
||||
"github.com/oam-dev/kubevela/pkg/cue/packages"
|
||||
"github.com/oam-dev/kubevela/pkg/multicluster"
|
||||
"github.com/oam-dev/kubevela/pkg/oam/discoverymapper"
|
||||
"github.com/oam-dev/kubevela/pkg/utils/common"
|
||||
)
|
||||
|
||||
var kubeClient client.Client
|
||||
@@ -42,6 +45,18 @@ func GetKubeClient() (client.Client, error) {
|
||||
}
|
||||
var err error
|
||||
kubeClient, kubeConfig, err = multicluster.GetMulticlusterKubernetesClient()
|
||||
if err == nil {
|
||||
return kubeClient, nil
|
||||
}
|
||||
if !errors.Is(err, multicluster.ErrDetectClusterGateway) {
|
||||
return nil, err
|
||||
}
|
||||
// create single cluster client
|
||||
conf, err := config.GetConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
kubeClient, err = client.New(conf, client.Options{Scheme: common.Scheme})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ var (
|
||||
ErrClusterNotExists = ClusterManagementError(fmt.Errorf("no such cluster"))
|
||||
// ErrReservedLocalClusterName reserved cluster name is used
|
||||
ErrReservedLocalClusterName = ClusterManagementError(fmt.Errorf("cluster name `local` is reserved for kubevela hub cluster"))
|
||||
// ErrDetectClusterGateway fail to wait for ClusterGateway service ready
|
||||
ErrDetectClusterGateway = ClusterManagementError(fmt.Errorf("failed to wait for cluster gateway, unable to use multi-cluster"))
|
||||
)
|
||||
|
||||
// ClusterManagementError multicluster management error
|
||||
|
||||
@@ -143,7 +143,7 @@ func Initialize(restConfig *rest.Config, autoUpgrade bool) (client.Client, error
|
||||
}
|
||||
svc, err := WaitUntilClusterGatewayReady(context.Background(), c, 60, 5*time.Second)
|
||||
if err != nil {
|
||||
return nil, errors2.Wrapf(err, "failed to wait for cluster gateway, unable to use multi-cluster")
|
||||
return nil, ErrDetectClusterGateway
|
||||
}
|
||||
ClusterGatewaySecretNamespace = svc.Namespace
|
||||
klog.Infof("find cluster gateway service %s/%s:%d", svc.Namespace, svc.Name, *svc.Port)
|
||||
|
||||
Reference in New Issue
Block a user