Skip to content

OpenStack Setup

Before deploying Managed Kubernetes clusters (MKS) on your OpenStack infrastructure, you need to prepare it by uploading the required base images and tagging them so the platform can discover them automatically.

Prerequisites

Before you begin, make sure you have:

  • OpenStack CLI (python-openstackclient) installed on your workstation
  • Valid credentials: Your OpenStack clouds.yaml or RC file sourced in your shell
  • Sufficient permissions: Ability to upload images to the Glance image service (typically the admin or member role on the target project)

Web UI Limitations

Neither Horizon nor Skyline support managing Glance image tags through their web interfaces. You must use the OpenStack CLI to complete the setup described in this guide.

Supported Versions

The platform identifies which images to use for cluster provisioning based on Glance image tags. Each Kubernetes version requires a specific tag applied to its corresponding image.

Kubernetes Version Required Image Tag Image Download
1.33.1 ec-kube-v1.33.1 Download
1.32.7 ec-kube-v1.32.7 Download

Tags are mandatory

If the images are not tagged correctly, the platform will not be able to find them and cluster provisioning will fail.

Setup Instructions

Select the Kubernetes version you want to install to get the full set of commands ready to copy and paste.

1. Download the image

curl -LO https://images.edgecontinuum.com/ubuntu-2404-kube-v1.33.1

2. Upload the image to Glance

openstack image create \
  --disk-format qcow2 \
  --container-format bare \
  --file ubuntu-2404-kube-v1.33.1 \
  "ec-kube-v1.33.1"

3. Tag the image

openstack image set --tag ec-kube-v1.33.1 "ec-kube-v1.33.1"

4. Verify

openstack image list --tag ec-kube-v1.33.1

Expected output:

+--------------------------------------+------------------+--------+
| ID                                   | Name             | Status |
+--------------------------------------+------------------+--------+
| <image-id>                           | ec-kube-v1.33.1  | active |
+--------------------------------------+------------------+--------+

1. Download the image

curl -LO https://images.edgecontinuum.com/ubuntu-2204-kube-v1.32.7

2. Upload the image to Glance

openstack image create \
  --disk-format qcow2 \
  --container-format bare \
  --file ubuntu-2204-kube-v1.32.7 \
  "ec-kube-v1.32.7"

3. Tag the image

openstack image set --tag ec-kube-v1.32.7 "ec-kube-v1.32.7"

4. Verify

openstack image list --tag ec-kube-v1.32.7

Expected output:

+--------------------------------------+------------------+--------+
| ID                                   | Name             | Status |
+--------------------------------------+------------------+--------+
| <image-id>                           | ec-kube-v1.32.7  | active |
+--------------------------------------+------------------+--------+

Summary

flowchart LR
    A["Download\nQCOW2 image"] --> B["Upload to\nGlance"]
    B --> C["Tag with\nrequired tag"]
    C --> D["Verify"]
    D --> E["Ready for\nMKS ✓"]

Once your images are uploaded and correctly tagged, your OpenStack infrastructure is ready for the platform to provision Managed Kubernetes clusters.

Registering the infrastructure in the console

With your images prepared, register the OpenStack cloud as an Infrastructure. The registration wizard walks through five steps: Provider → Configuration → Credentials → Resources → Review.

OpenStack is the supported provider today

OpenStack is currently the only selectable provider. Support for other providers is planned for future releases.

Location: Region and Zone

In the Configuration step you must place the infrastructure in a Region and a Zone. These are platform groupings you create in your organization — every infrastructure belongs to one region and one zone. If you have not created them yet, you can do so inline from the wizard. See Regions and Zones.

Credentials

In the Credentials step you provide how the platform authenticates to your OpenStack cloud. Two authentication methods are supported:

Field Required Notes
Username OpenStack user name
Password
Project Name The OpenStack project to operate in
Project ID The project's ID
User Domain Name The user's domain (e.g. Default)
Field Required Notes
Application Credential ID
Application Credential Secret

In both cases you also provide:

  • Auth URL — your Keystone endpoint, e.g. https://auth.cloud.example.com:5000/v3
  • Region Name — the OpenStack region, e.g. RegionOne

OpenStack region vs. platform Region

The Region Name here is your OpenStack cloud's own region. It is not the same as the platform Region you chose in the Configuration step.

Verify before continuing

Use Verify Credentials to test connectivity. The wizard will not let you continue past this step until verification succeeds. You can rotate these credentials later from the infrastructure's detail page.

TLS / custom CA certificate

If your OpenStack endpoints use a private or internal certificate authority, expand Security & TLS and provide a custom CA certificate:

  • Must be PEM format (-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----).
  • Paste it directly, or upload a .pem, .crt, .cer, or .cert file (up to 10 KB).

If your endpoints use a publicly trusted certificate, leave this empty.

Resources

In the Resources step you configure how the platform uses your cloud, and optionally seed the Catalog with flavors and images:

Setting Options / default
Load Balancer Method ROUND_ROBIN (default), LEAST_CONNECTIONS, or SOURCE_IP
Load Balancer Provider amphora (default) or octavia
Block storage (Cinder) Off by default; enable to allow Cinder-backed volumes
DNS nameservers An optional list of nameserver IPs (e.g. 8.8.8.8)

The Load Balancer settings and DNS nameservers can be changed later from the infrastructure's detail page.