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.yamlor RC file sourced in your shell - Sufficient permissions: Ability to upload images to the Glance image service (typically the
adminormemberrole 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.certfile (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.