Openstack Cloud Provider


To enable the Openstack cloud provider, besides setting the name as openstack, there are specific configuration options that must be set. The Openstack configuration options are grouped into different sections.

  1. cloud_provider:
  2. name: openstack
  3. openstackCloudProvider:
  4. global:
  5. username: xxxxxxxxxxxxxx
  6. password: xxxxxxxxxxxxxx
  7. auth-url: https://1.2.3.4/identity/v3
  8. tenant-id: xxxxxxxxxxxxxx
  9. domain-id: xxxxxxxxxxxxxx
  10. load_balancer:
  11. subnet-id: xxxxxxxxxxxxxx
  12. block_storage:
  13. ignore-volume-az: true
  14. route:
  15. router-id: xxxxxxxxxxxxxx
  16. metadata:
  17. search-order: xxxxxxxxxxxxxx

Overriding the hostname

The OpenStack cloud provider uses the instance name (as determined from OpenStack metadata) as the name of the Kubernetes Node object, you must override the Kubernetes name on the node by setting the hostname_override for each node. If you do not set the hostname_override, the Kubernetes node name will be set as the address, which will cause the Openstack cloud provider to fail.

Openstack Configuration Options

The Openstack configuration options are divided into 5 groups.

  • Global
  • Load Balancer
  • Block Storage
  • Route
  • Metadata

Global

These are the options that are available under the global directive.

OpenStack’s Global Configuration OptionsTypeRequired
auth_urlstring
usernamestring
user-idstring
passwordstring
tenant-idstring*
tenant-namestring
trust-idstring
domain-idstring
domain-namestring
regionstring
ca-filestring

Load Balancer

These are the options that are available under the load_balancer directive.

OpenStack’s Load Balancer Configuration OptionsTypeRequired
lb-versionstring
use-octaviabool
subnet-idstring
floating-network-idstring
lb-methodstring
lb-providerstring
manage-security-groupsbool
create-monitorbool
monitor-delayint if create-monitor is true
monitor-timeoutint if create-monitor is true
monitor-max-retriesint* if create-monitor is true

Block Storage

These are the options that are available under the block_storage directive.

OpenStack’s Block Storage Configuration OptionsTypeRequired
bs-versionstring
trust-device-pathbool
ignore-volume-azbool

Route

This is the option that is available under the route directive.

OpenStack’s Route Configuration OptionTypeRequired
router-idstring

Metadata

These are the options that are available under the metadata directive.

OpenStack’s Metadata Configuration OptionsTypeRequired
search-orderstring
request-timeoutint

For more information of Openstack configurations options please refer to the official Kubernetes documentation.