RedHat Openshift installation on AWS

To get some hands on experience with OpenShift I have installed OpenShift 4.1 on AWS using the defaults.

Configure DNS
Documentation: https://docs.openshift.com/container-platform/4.1/installing/installing_aws/installing-aws-account.html

First I had to configure DNS. As my domain name is not registered at AWS I had to delegate a subdomain to AWS.
Create a Hosted Zone at AWS in Route 53. In my case aws.petersplanet.nl

Then delegate aws.petersplanet.nl to AWS Route 53 by adding NS-records for petersplanet.nl. I only configured 2 for the test.

Now you only have to wait some time before the records are active in DNS.

Default installation
Then I did the default install of OpenShift at AWS.
Documentation: https://docs.openshift.com/container-platform/4.1/installing/installing_aws/installing-aws-default.html

Login with SSH to AWS. Download the installation program from RedHat and unpack it in an installation folder and pull the secret for your cluster.

./openshift-install create cluster

Choose AWS as your target platform
Enter AWS key and secret
Select your AWS region
Select your base domain
Enter a name for the cluster
Paste the pull secret form RedHat
And wait some time for everything to complete.

time="2019-08-11T18:23:22+02:00" level=debug msg="Still waiting for the cluster to initialize: Working towards 4.1.9: 100% complete, waiting on authentication"
time="2019-08-11T18:24:46+02:00" level=debug msg="Cluster is initialized"
time="2019-08-11T18:24:46+02:00" level=info msg="Waiting up to 10m0s for the openshift-console route to be created…"
time="2019-08-11T18:24:46+02:00" level=debug msg="Route found in openshift-console namespace: console"
time="2019-08-11T18:24:46+02:00" level=debug msg="Route found in openshift-console namespace: downloads"
time="2019-08-11T18:24:46+02:00" level=debug msg="OpenShift console route is created"
time="2019-08-11T18:24:46+02:00" level=info msg="Install complete!"
time="2019-08-11T18:24:46+02:00" level=info msg="To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/centos/openshift-install/auth/kubeconfig'"
time="2019-08-11T18:24:46+02:00" level=info msg="Access the OpenShift web-console here: https://console-openshift-console.apps.openshift.aws.petersplanet.nl"
time="2019-08-11T18:24:46+02:00" level=info msg="Login to the console with user: kubeadmin, password: XXXX-XXXX-XXXX-XXXX"

The web-console for this cluster can be found at:
https://console-openshift-console.apps.openshift.aws.petersplanet.nl
Login in with user kubeadmin and the password found in the installation log.

Download and unpack the commandline interface.
Login to the cluster with oc

$ export KUBECONFIG=<installation_directory>/auth/kubeconfig
$ oc whoami
system:admin

The password for user kubeadmin can be found in

<installation_directory>/auth/kubeadmin-password

The AWS configuration uses a lot of resources so don’t forget to at least stop the EC2 servers after the test.
You can also completely delete your cluster via the openshift-install command.
https://docs.openshift.com/container-platform/4.1/installing/installing_aws/uninstalling-cluster-aws.html
But I did it the hard way and deleted the cluster on AWS manually which I do not recommend.

A default install on AWS is fairly straightforward but it becomes more complicated if you want to customize the installation. And even more if it is not on AWS but on vSphere or bare metal because then you need to configure the prerequisites all by yourself.
Also for version 4.1 the OpenShift Container Platform requires all machines, including the computer that you run the installation process on, to have direct internet access to pull images for platform containers and provide telemetry data to Red Hat.