kubernetes/kops · error

loadbalancer support not available in this deployment

Error message

loadbalancer support not available in this deployment

What it means

The Octavia (load-balancer) client is nil, so load-balancer v2 support is not enabled in this OpenStack deployment and the monitor cannot be created. The deployment is typically missing the 'load-balancer' service in the catalog or lacks the required extension.

Source

Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:50

	"k8s.io/klog/v2"
	"k8s.io/kops/util/pkg/vfs"
)

// memberBackoff is the backoff strategy for openstack updating members in loadbalancer pool
var memberBackoff = wait.Backoff{
	Duration: time.Second,
	Factor:   2,
	Jitter:   0.1,
	Steps:    10,
}

func (c *openstackCloud) CreatePoolMonitor(opts monitors.CreateOpts) (*monitors.Monitor, error) {
	return createPoolMonitor(c, opts)
}

func createPoolMonitor(c OpenstackCloud, opts monitors.CreateOpts) (poolMonitor *monitors.Monitor, err error) {
	if c.LoadBalancerClient() == nil {
		return nil, fmt.Errorf("loadbalancer support not available in this deployment")
	}

	done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {
		poolMonitor, err = monitors.Create(context.TODO(), c.LoadBalancerClient(), opts).Extract()
		if err != nil {
			return false, fmt.Errorf("failed to create pool monitor: %v", err)
		}
		return true, nil
	})
	if !done {
		if err == nil {
			err = wait.ErrWaitTimeout
		}
		return poolMonitor, err
	}
	return poolMonitor, nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Enable the Octavia load-balancer service in the OpenStack deployment
  2. Verify the service catalog exposes a load-balancer v2 endpoint
  3. Ensure kops cloud config includes the loadbalancer service
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:50 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/9496ff2a107716c8. Report an issue: GitHub.