The OpenShift 4 IPI AWS variable file can be found at OCP-4.X/vars/install-on-aws.yml
. It will configure the deployment playbook at OCP-4.X/deploy-cluster.yml
to perform a cluster installation on AWS. In addition to installing a cluster, the playbook can also perform day 2 operations to include deploying three infra nodes and deploying a workload node to isolate workload driver pods from openshift-scale/workloads repo.
Running from the CLI:
$ cp OCP-4.X/inventory.example inventory
$ # Edit inventory and add your expected orchestration host
$ # Edit deployment variables (Ex vi OCP-4.X/vars/install-on-aws.yml) or define env variables
$ ansible-playbook -v -i inventory OCP-4.X/deploy-cluster.yml -e platform=aws
aws-example.sh is an example script to run this playbook without modifying the vars file.
In order to execute it you should:
- Verify your ssh keys -
PUBLIC_KEY
andPRIVATE_KEY
- Verify
OPENSHIFT_CLIENT_LOCATION
is valid (or update to a newer client location) - Set the release image payload
OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE
- Populate
OPENSHIFT_INSTALL_PULL_SECRET
,OPENSHIFT_INSTALL_QUAY_REGISTRY_TOKEN
, andOPENSHIFT_INSTALL_REGISTRY_TOKEN
- Populate
AWS_PROFILE
,AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
, andAWS_REGION
- Populate
OPENSHIFT_BASE_DOMAIN
Documents for initializing can be found here - ocp4_common_env_var.md
After that initialize the following variables -
Default: default
The name of the AWS profile to be set on the orchestration machine for use with the AWS cli and installer.
Default: No default. The AWS access key.
Default: No default. The AWS secret access key.
Default: No default. The AWS region to install on to.
Default: No default. The base domain for the cluster.
Default: No default. The name of the cluster.
Default: 3
The number of master nodes.
Default: 5
The number of worker nodes to install.
Default: m5.xlarge
The instance type of the masters.
Default: m5.large
The instance type of the worker nodes.
Default: 64
The root volume disk size for the masters.
Default: gp2
The root volume type for the masters. Can be gp2
or higher performing io1
volume types.
Default: 0
When OPENSHIFT_MASTER_ROOT_VOLUME_TYPE
is set to io1
, the number of iops can be set here.
Default: 64
The root volume size for worker nodes.
Default: gp2
The root volume type for worker nodes. Can be gp2
or higher performing io1
volume types.
Default: 0
When OPENSHIFT_WORKER_ROOT_VOLUME_TYPE
is set to io1
, the number of iops can be set here.
Default: machine.openshift.io
The prefix used in machinesets. Usually this is machine.openshift.io
however it might be sigs.k8s.io
depending on version installed.
Default: m5.large
The instance type for infra nodes.
Default: m5.large
The instance type for the workload node.
Default: 64
The root volume size for the infra nodes.
Default: gp2
The root volume type for infra nodes. Can be gp2
or higher performing io1
volume types.
Default: 0
When OPENSHIFT_INFRA_NODE_VOLUME_TYPE
is set to io1
, the number of iops can be set here.
Default: 64
The root volume size for the workload node.
Default: gp2
The root volume type for workload node. Can be gp2
or higher performing io1
volume types.
Default: 0
When OPENSHIFT_WORKLOAD_NODE_VOLUME_TYPE
is set to io1
, the number of iops can be set here.
Default: 15d
The retention period for the Prometheus server.
Default: gp2
The storage class for Prometheus server.
Default: 10Gi
The storage size for Prometheus server.
Default: gp2
The storage class for the alertmanager servers.
Default: 2Gi
Default: false
Toggle the deployment of the OVN SBSB relay.
Default: false
Toggle to patch and replace the default OVN deployment image.
Default: nil
The OVN image that we will use to replace the default, requires OVN_PATCH
to be true
.
Default: d
Default EC2 availability zone(AZ) is set to d
, but some regions do not have the AZ d
, in that case you can set this to some other letter.
E.g. for us-east-2
, you can request us-east-2a/b/c
as us-east-2d
does not exist.