2019-08-14 13:32:07 +02:00
# OpenStack Platform Customization
2019-08-05 15:12:57 -07:00
Beyond the [platform-agnostic `install-config.yaml` properties ](../customization.md#platform-customization ), the installer supports additional, OpenStack-specific properties.
2019-08-14 13:32:07 +02:00
2019-08-05 15:12:57 -07:00
## Cluster-scoped properties
2019-08-14 13:32:07 +02:00
2019-08-05 15:12:57 -07:00
* `cloud` (required string): The name of the OpenStack cloud to use from `clouds.yaml` .
2019-09-10 09:54:31 +02:00
* `computeFlavor` (required string): The OpenStack flavor to use for compute and control-plane machines.
This is currently required, but has lower precedence than [the `type` property ](#machine-pools ) on [the `compute` and `controlPlane` machine-pools ](../customization.md#platform-customization ).
2019-11-04 15:58:12 -05:00
* `externalDNS` (optional list of strings): The IP addresses of DNS servers to be used for the DNS resolution of all instances in the cluster
2019-08-05 15:12:57 -07:00
* `externalNetwork` (required string): The OpenStack external network name to be used for installation.
* `lbFloatingIP` (required string): Existing Floating IP to associate with the API load balancer.
* `octaviaSupport` (optional string): Whether OpenStack supports Octavia (`1` for true or `0` for false)
2019-09-09 13:02:40 +02:00
* `region` (deprecated string): The OpenStack region where the cluster will be created. Currently this value is not used by the installer.
2019-08-05 15:12:57 -07:00
* `trunkSupport` (optional string): Whether OpenStack ports can be trunked (`1` for true or `0` for false)
## Machine pools
* `type` (optional string): The OpenStack flavor name for machines in the pool.
2019-09-23 18:50:42 -04:00
* `rootVolume` (optional object): Defines the root volume for instances in the machine pool. The instances use ephemeral disks if not set.
* `size` (required integer): Size of the root volume in GB.
* `type` (required string): The volume pool to create the volume from.
2019-08-14 13:32:07 +02:00
## Examples
2019-08-05 15:12:57 -07:00
Some example `install-config.yaml` are shown below.
For examples of platform-agnostic configuration fragments, see [here ](../customization.md#examples ).
### Minimal
An example minimal OpenStack install config is:
```yaml
apiVersion: v1
baseDomain: example.com
metadata:
name: test-cluster
platform:
openstack:
cloud: mycloud
computeFlavor: m1.s2.xlarge
externalNetwork: external
2019-11-04 15:58:12 -05:00
externalDNS:
- "8.8.8.8"
- "192.168.1.12"
2019-08-05 15:12:57 -07:00
lbFloatingIP: 128.0.0.1
region: region1
pullSecret: '{"auths": ...}'
sshKey: ssh-ed25519 AAAA...
```
### Custom machine pools
An example OpenStack install config with custom machine pools:
2019-08-14 13:32:07 +02:00
```yaml
apiVersion: v1
baseDomain: example.com
controlPlane:
name: master
replicas: 3
compute:
- name: worker
platform:
openstack:
type: ml.large
2019-09-23 18:50:42 -04:00
rootVolume:
size: 30
type: performance
2019-08-14 13:32:07 +02:00
replicas: 3
metadata:
2019-08-05 15:12:57 -07:00
name: test-cluster
2019-08-14 13:32:07 +02:00
platform:
openstack:
cloud: mycloud
2019-08-05 15:12:57 -07:00
computeFlavor: m1.s2.xlarge
2019-08-14 13:32:07 +02:00
externalNetwork: external
lbFloatingIP: 128.0.0.1
2019-08-05 15:12:57 -07:00
region: region1
2019-08-14 13:32:07 +02:00
pullSecret: '{"auths": ...}'
sshKey: ssh-ed25519 AAAA...
```