kubernetes/kops · error

Scaleway clusters don't have a VPC yet, so internal load-bal

Error message

Scaleway clusters don't have a VPC yet, so internal load-balancers are not supported at the time

What it means

Configuration guard in the Scaleway API load-balancer builder: the cluster spec requests an internal load balancer for the API, but the Scaleway provider in kOps has no VPC support yet, so only public load balancers can be provisioned.

Source

Thrown at pkg/model/scalewaymodel/api_loadbalancer.go:53

	*ScwModelContext
	Lifecycle fi.Lifecycle
}

var _ fi.CloudupModelBuilder = &APILoadBalancerModelBuilder{}

func (b *APILoadBalancerModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
	// Configuration where a load balancer fronts the API
	if !b.UseLoadBalancerForAPI() {
		return nil
	}

	lbSpec := b.Cluster.Spec.API.LoadBalancer

	switch lbSpec.Type {
	case kops.LoadBalancerTypePublic:
		klog.V(8).Infof("Using public load-balancer")
	case kops.LoadBalancerTypeInternal:
		return fmt.Errorf("Scaleway clusters don't have a VPC yet, so internal load-balancers are not supported at the time")
	default:
		return fmt.Errorf("unhandled load-balancer type %q", lbSpec.Type)
	}

	zone, err := scaleway.ParseZoneFromClusterSpec(b.Cluster.Spec)
	if err != nil {
		return fmt.Errorf("building load-balancer task: %w", err)
	}

	lbTags := []string{
		fmt.Sprintf("%s=%s", scaleway.TagClusterName, b.ClusterName()),
		fmt.Sprintf("%s=%s", scaleway.TagNameRolePrefix, scaleway.TagRoleControlPlane),
	}
	for k, v := range b.CloudTags(b.ClusterName(), false) {
		lbTags = append(lbTags, fmt.Sprintf("%s=%s", k, v))
	}

	loadBalancerName := "api." + b.ClusterName()

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Set spec.api.loadBalancer.type to Public for Scaleway clusters
  2. Omit the internal load balancer configuration until Scaleway VPC support lands
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/model/scalewaymodel/api_loadbalancer.go:53 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/e837cab7efe68974. Report an issue: GitHub.