ROSA Quickstart
Authors:
Steve Mirman,
Paul Czarkowski
Last Editor:
Dustin Scott
Published Date:
10 June 2021
Modified Date: 25 May 2023
A Quickstart guide to deploying a Red Hat OpenShift cluster on AWS.
Video Walkthrough
Quick Introduction to ROSA by Charlotte Fung on AWS YouTube channel
If you prefer a more visual medium, you can watch Steve Mirman walk through this quickstart on YouTube .
Prerequisites
AWS CLI
You’ll need to have an AWS account to configure the CLI against.
MacOS
See AWS Docs for alternative install options.
Install AWS CLI using the macOS command line
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /
Linux
See AWS Docs for alternative install options.
Install AWS CLI using the Linux command line
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
Windows
See AWS Docs for alternative install options.
Install AWS CLI using the Windows command line
C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
Docker
See AWS Docs for alternative install options.
To run the AWS CLI version 2 Docker image, use the docker run command.
docker run --rm -it amazon/aws-cli command
Prepare AWS Account for OpenShift
Configure the AWS CLI by running the following command
aws configure
You will be required to enter an
AWS Access Key ID
and anAWS Secret Access Key
along with a default region name and output format% aws configure AWS Access Key ID []: AWS Secret Access Key []: Default region name [us-east-2]: Default output format [json]:
The
AWS Access Key ID
andAWS Secret Access Key
values can be obtained by logging in to the AWS console and creating an Access Key in the Security Credentials section of the IAM dashboard for your userValidate your credentials
aws sts get-caller-identity
You should receive output similar to the following
{ "UserId": <your ID>, "Account": <your account>, "Arn": <your arn> }
If this is a brand new AWS account that has never had a AWS Load Balancer installed in it, you should run the following
aws iam create-service-linked-role --aws-service-name \ "elasticloadbalancing.amazonaws.com"
Get a Red Hat Offline Access Token
Log into cloud.redhat.com
Copy the Offline Access Token and save it for the next step
Set up the OpenShift CLI (oc)
Download the OS specific OpenShift CLI from Red Hat
Unzip the downloaded file on your local machine
Place the extracted
oc
executable in your OS path or local directory
Set up the ROSA CLI
Download the OS specific ROSA CLI from Red Hat
Unzip the downloaded file on your local machine
Place the extracted
rosa
andkubectl
executables in your OS path or local directoryLog in to ROSA
rosa login
You will be prompted to enter in the Red Hat Offline Access Token you retrieved earlier and should receive the following message
Logged in as <email address> on 'https://api.openshift.com'
Verify ROSA privileges
Verify that ROSA has the minimal permissions
rosa verify permissions
Expected output:
AWS SCP policies ok
Verify that ROSA has the minimal quota
rosa verify quota
Expected output:
AWS quota ok
Initialize ROSA
Initialize the ROSA CLI to complete the remaining validation checks and configurations
rosa init
Deploy Red Hat OpenShift on AWS (ROSA)
Interactive Installation
ROSA can be installed using command line parameters or in interactive mode. For an interactive installation run the following command
rosa create cluster --interactive --mode auto
As part of the interactive install you will be required to enter the following parameters or accept the default values (if applicable)
Cluster name:
Multiple availability zones (y/N):
AWS region (select):
OpenShift version (select):
Install into an existing VPC (y/N):
Compute nodes instance type (optional):
Enable autoscaling (y/N):
Compute nodes [2]:
Machine CIDR [10.0.0.0/16]:
Service CIDR [172.30.0.0/16]:
Pod CIDR [10.128.0.0/14]:
Host prefix [23]:
Private cluster (y/N):
Note: the installation process should take between 30 - 45 minutes
Get the web console link to the ROSA cluster
To get the web console link run the following command.
Substitute your actual cluster name for
<cluster-name>
rosa describe cluster --cluster=<cluster-name>
Create cluster-admin user
By default, only the OpenShift SRE team will have access to the ROSA cluster. To add a local admin user, run the following command to create the cluster-admin
account in your cluster.
Substitute your actual cluster name for
<cluster-name>
rosa create admin --cluster=<cluster-name>
Refresh your web browser and you should see the
cluster-admin
option to log in
Delete Red Hat OpenShift on AWS (ROSA)
Deleting a ROSA cluster consists of two parts
- Delete the cluster instance, including the removal of AWS resources.
Substitute your actual cluster name for
<cluster-name>
rosa delete cluster --cluster=<cluster-name>
Delete Cluster’s operator-roles and oidc-provider as shown in the above delete cluster command’s output. For e.g.
rosa delete operator-roles -c <cluster-name>
rosa delete oidc-provider -c <cluster-name>
- Delete the CloudFormation stack, including the removal of the
osdCcsAdmin
user
rosa init --delete-stack