github.com/openshift/installer@v1.4.17/docs/user/openstack/deploy_baremetal_workers.md (about) 1 # Deploying OpenShift bare-metal workers on OpenStack cloud provider 2 3 4 ## Table of Contents 5 - [Deploying OpenShift bare-metal workers on OpenStack cloud provider](#deploying-openshift-bare-metal-workers-on-openstack-cloud-provider) 6 - [Table of Contents](#table-of-contents) 7 - [Common prerequisites](#common-prerequisites) 8 - [Considerations when deploying bare-metal workers](#considerations-when-deploying-bare-metal-workers) 9 - [Deploying cluster with BM workers on tenant network deployed by the installer](#deploying-cluster-with-bm-workers-on-tenant-network-deployed-by-the-installer) 10 - [Deploying cluster with BM workers on preexisting network](#deploying-cluster-with-bm-workers-on-preexisting-network) 11 - [Deploying cluster with BM machines only on preexisting network](#deploying-cluster-with-bm-machines-only-on-preexisting-network) 12 - [Deploying cluster with mixture of VM and BM workers](#deploying-cluster-with-mixture-of-vm-and-bm-workers) 13 - [Known issues](#known-issues) 14 15 16 ## Common prerequisites 17 18 * [Ironic bare metal service][2] is enabled and accessible through the [OpenStack Compute API][3]. 19 * Bare-metal machines are available as an [OpenStack flavor][1]. 20 * At the time bare-metal machines are booted, the image used to boot them is available from the [Glance OpenStack image service][4]. 21 If given a URL, the installer will fetch that image from the location specified and upload it to Glance. See relevant 22 [documentation][5]. 23 24 25 ## Considerations when deploying bare-metal workers 26 27 * Long boot times for bare-metal machines may result in deployment timeout 28 29 The first time a bare-metal server is booted the boot time could be significantly longer that 30 the first time a VM server is booted. This longer boot time could exceed the timeout settings of 31 the installer. If that occurs, the deployment will fail with a timeout error. The deployment maybe 32 restarted and completed by re-running the installer with the appropriate *wait-for* 33 command. For example: 34 35 ./openshift-install wait-for install-complete --log-level debug 36 37 38 ## Deploying cluster with BM workers on tenant network deployed by the installer 39 40 The initial cluster is deployed using bare-metal workers only. Bare-metal workers and control plane VMs are all 41 attached to the tenant network provisioned by the installer. 42 43 - Requirements: 44 - By default, OpenStack networks support attaching both VMs and bare-metal machines to them. 45 * [Ironic bare metal service][2] can listen for, and PXE-boot machines in tenant networks 46 47 - Create install-config.yaml: 48 49 - Set `compute.[worker].platform.openstack.type` to the bare-metal server flavor. 50 - Set `controlPlane.platform.openstack.type` to the VM flavor which will be used by the control plane nodes. 51 52 For example: 53 54 controlPlane: 55 platform: 56 openstack: 57 type: <vmComputeFlavorForMasters> 58 59 ... other settings 60 61 compute: 62 - architecture: amd64 63 hyperthreading: Enabled 64 name: worker 65 platform: 66 openstack: 67 type: <baremetalComputeFlavor> 68 replicas: 3 69 70 ... other settings 71 72 73 74 - Run the openshift installer: 75 76 ./openshift-install create cluster --log-level debug 77 78 - wait for the installer to complete. 79 80 If the installer times out waiting for the bare-metal workers to complete booting, 81 restart the installation using [the appropriate *wait-for* command](#considerations-when-deploying-bare-metal-workers). 82 83 ## Deploying cluster with BM workers on preexisting network 84 85 Initial cluster is deployed using bare-metal workers only. Bare-metal workers are attached to 86 a preexisting network. 87 88 - Requirements: 89 - An OpenStack subnet has been pre-provisioned which supports attaching both VMs and bare-metal servers to it. 90 91 - Create install-config.yaml: 92 93 - Set `compute.[worker].platform.openstack.type` to the bare-metal server flavor. 94 95 - Set `controlPlane.platform.openstack.type` to the VM flavor which will be used by the control plane nodes. 96 97 - Set `platform.openstack.controlPlanePort.fixedIPs.subnet.id` to the UUID of the pre-provisioned subnet and/or `platform.openstack.controlPlanePort.fixedIPs.subnet.name` to the name of pre-provisioned subnet. 98 99 For example: 100 101 controlPlane: 102 platform: 103 openstack: 104 type: <vmComputeFlavorForMasters> 105 106 ... other settings 107 108 compute: 109 - architecture: amd64 110 hyperthreading: Enabled 111 name: worker 112 platform: 113 openstack: 114 type: <baremetalComputeFlavor> 115 replicas: 3 116 117 ... other settings 118 119 platform: 120 openstack: 121 controlPlanePort: 122 fixedIPs: 123 - subnet: 124 id: <uuidOfPreprovisionedSubnet> 125 126 - Run the openshift installer: 127 128 ./openshift-install create cluster --log-level debug 129 130 - wait for the installer to complete. 131 132 If the installer times out waiting for the bare-metal workers to complete booting, 133 restart the installation using [the appropriate *wait-for* command](#considerations-when-deploying-bare-metal-workers). 134 135 ## Deploying cluster with BM machines only on preexisting network 136 137 Initial cluster is deployed using bare-metal machines only for both Control 138 Plane and Compute nodes. The cluster is deployed to a preexisting network. 139 140 - Requirements: 141 - An OpenStack subnet has been pre-provisioned which supports attaching bare-metal servers to it. 142 143 - Create install-config.yaml: 144 145 - Set `compute.[worker].platform.openstack.type` to a bare-metal server flavor. 146 147 - Set `controlPlane.platform.openstack.type` to a bare-metal server flavor. 148 149 - Set `platform.openstack.controlPlanePort.fixedIPs.subnet.id` to the UUID of the pre-provisioned subnet and/or `platform.openstack.controlPlanePort.fixedIPs.subnet.name` to the name of pre-provisioned subnet. 150 151 For example: 152 153 controlPlane: 154 platform: 155 openstack: 156 type: <bmComputeFlavorForMasters> 157 158 ... other settings 159 160 compute: 161 - architecture: amd64 162 hyperthreading: Enabled 163 name: worker 164 platform: 165 openstack: 166 type: <bmComputeFlavorForWorkers> 167 replicas: 3 168 169 ... other settings 170 171 platform: 172 openstack: 173 controlPlanePort: 174 fixedIPs: 175 - subnet: 176 id: <uuidOfPreprovisionedSubnet> 177 178 - Run the openshift installer: 179 180 ./openshift-install create cluster --log-level debug 181 182 - wait for the installer to complete. 183 184 If the installer times out waiting for the bare-metal workers to complete booting, 185 restart the installation using [the appropriate *wait-for* command](#considerations-when-deploying-bare-metal-workers). 186 187 ## Deploying cluster with mixture of VM and BM workers 188 Cluster is initially deployed with VM workers. BM workers are added to the cluster post initial deployment. 189 190 - Requirements: 191 - By default, OpenStack networks support attaching both VMs and bare-metal machines to them. 192 * [Ironic bare metal service][2] can listen for, and PXE-boot machines in tenant networks 193 194 - Create install-config.yaml: 195 196 - Set `compute.[worker].platform.openstack.type` to the VM flavor which will be used for VM workers. 197 198 - Set `controlPlane.platform.openstack.type` to the VM flavor which will be used by the control plane nodes. 199 200 For example: 201 202 controlPlane: 203 platform: 204 openstack: 205 type: <vmComputeFlavorForMasters> 206 207 ... other settings 208 209 compute: 210 - architecture: amd64 211 hyperthreading: Enabled 212 name: worker 213 platform: 214 openstack: 215 type: <vmComputeFlavorForWorkers> 216 replicas: 3 217 218 - Run the openshift installer: 219 220 ./openshift-install create cluster --log-level debug 221 222 - Once the cluster is deployed and running, [create and deploy a new infrastructure MachineSet][6] using the bare-metal server flavor. 223 224 [1]: <https://docs.openstack.org/nova/latest/user/flavors.html> "In OpenStack, flavors define the compute, memory, and storage capacity of nova computing instances" 225 [2]: <https://docs.openstack.org/ironic/latest/> 226 [3]: <https://docs.openstack.org/api-ref/compute/> 227 [4]: <https://docs.openstack.org/glance/latest/> 228 [5]: <https://github.com/openshift/installer/blob/master/docs/user/openstack/customization.md#image-overrides> 229 [6]: https://docs.okd.io/latest/machine_management/creating-infrastructure-machinesets.html#machineset-yaml-osp_creating-infrastructure-machinesets