This repo contains Terraform templates to help deployment of OpenShift Container Platform (OCP) 4.x on PowerVM LPARs. This assumes PowerVC is used as the IaaS layer for managing the PowerVM LPARs.
If you are using standalone PowerVM please take a look at the following quickstart guide which uses the ansible playbook to setup helper node (bastion) for OCP deployment.
This project also leverages the same ansible playbook internally for OCP deployment on PowerVM LPARs managed via PowerVC.
Run this code from either Mac or Linux (Intel) system.
❗ This automation is intended for test/development purposes only and there is no formal support. For bugs/enhancement requests etc. please open a GitHub issue
You need to identify a remote client machine for running the automation. This could be your laptop or a VM.
This code has been tested on the following x86-64 based Operating Systems:
- Linux
- Mac OSX (Darwin)
Install the below required packages on the client machine.
- Git: Please refer to the link for instructions on installing the latest Git.
- Terraform >= 0.13.0: Please refer to the link for instructions on installing Terraform. For validating the version run
terraform version
command after install. - Public internet connection for all the nodes to download the playbooks and images as part of the setup process.
At present Terraform registry does not support below plugins. Third-party providers can be manually installed using local filesystem as a mirror. This is in additon to the provider plugins that are downloaded by Terraform during terraform init
.
Ignition provider v2.1.0
-
Download the zip archive from community-terraform-provider releases page .
-
Depending on your Operating System, create the Terraform plugins directory on your local filesystem if does not exist already.
Linux: ~/.local/share/terraform/plugins OR /usr/local/share/terraform/plugins, OR /usr/share/terraform/plugins.
Mac OSX: ~/Library/Application Support/io.terraform/plugins OR /Library/Application Support/io.terraform/plugins
Windows: %APPDATA%/HashiCorp/Terraform/plugins
- Under the path created in Step 2 please create the Igniton provider directory:
registry.terraform.io/terraform-providers/ignition/
- Place the downloaded zip file in Step 1 to
registry.terraform.io/terraform-providers/ignition/
This is how the directory look for linux_amd64
:
$ ls ~/.local/share/terraform/plugins/registry.terraform.io/terraform-providers/ignition/
terraform-provider-ignition_2.1.0_linux_amd64.zip
$
You'll need to create RedHat CoreOS (RHCOS) and RHEL 8.0 (or later) image in PowerVC. For RHCOS image creation, follow the steps mentioned in the following doc.
Following are the recommended LPAR configs for OpenShift nodes that will be deployed with RHCOS image.
-
Bootstrap, Master - 2 vCPUs, 16GB RAM, 120 GB Disk.
PowerVM LPARs by default uses SMT=8. So with 2vCPUs, the number of logical CPUs as seen by the Operating System will be 16 (
2 vCPUs x 8 SMT
)This config is suitable for majority of the scenarios
-
Worker - 2 vCPUs, 16GB RAM, 120 GB Disk
Increase worker vCPUs, RAM and Disk based on application requirements
Following is the recommended LPAR config for the helper node that will be deployed with RHEL 8.0 (or later) image.
- Helper node (bastion) - 2vCPUs, 16GB RAM, 200 GB Disk
Follow these quickstart steps to kickstart OCP installation on PowerVM LPARs managed via PowerVC
Please see the contributing doc for more details. PRs are most welcome !!