|
| 1 | +:_mod-docs-content-type: ASSEMBLY |
| 2 | +[id="cloud-experts-getting-started-detailed-ui"] |
| 3 | += Tutorial: Detailed UI guide |
| 4 | +include::_attributes/attributes-openshift-dedicated.adoc[] |
| 5 | +:context: cloud-experts-getting-started-detailed-ui |
| 6 | + |
| 7 | +toc::[] |
| 8 | + |
| 9 | +//rosaworkshop.io content metadata |
| 10 | +//Brought into ROSA product docs 2023-11-20 |
| 11 | + |
| 12 | +This tutorial outlines the detailed steps to deploy a {product-title} (ROSA) cluster using the Red Hat OpenShift Cluster Manager user interface (UI). |
| 13 | + |
| 14 | +== Deployment workflow |
| 15 | +The overall deployment workflow follows these steps: |
| 16 | + |
| 17 | +. Create the account wide roles and policies. |
| 18 | +. Associate your AWS account with your Red Hat account. |
| 19 | +.. Create and link the Red Hat OpenShift Cluster Manager role. |
| 20 | +.. Create and link the user role. |
| 21 | +. Create the cluster. |
| 22 | + |
| 23 | +Step 1 only needs to be performed the *first time* you are deploying into an AWS account. Step 2 only needs to be performed the *first time* you are using the UI. For successive clusters of the same y-stream version, you only need to create the cluster. |
| 24 | + |
| 25 | +== Creating account wide roles |
| 26 | + |
| 27 | +[NOTE] |
| 28 | +==== |
| 29 | +If you already have account roles from an earlier deployment, skip this step. The UI will detect your existing roles after you select an associated AWS account. |
| 30 | +==== |
| 31 | + |
| 32 | +If this is the _first time_ you are deploying ROSA in this account and you have _not_ yet created the account roles, create the account-wide roles and policies, including the Operator policies. |
| 33 | + |
| 34 | +* In your terminal, run the following command to create the account-wide roles: |
| 35 | ++ |
| 36 | +[source,terminal] |
| 37 | +---- |
| 38 | +$ rosa create account-roles --mode auto --yes |
| 39 | +---- |
| 40 | ++ |
| 41 | +.Example output |
| 42 | ++ |
| 43 | +[source,terminal] |
| 44 | +---- |
| 45 | +I: Creating roles using 'arn:aws:iam::000000000000:user/rosa-user' |
| 46 | +I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-ControlPlane-Role' |
| 47 | +I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Worker-Role' |
| 48 | +I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Support-Role' |
| 49 | +I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-Installer-Role' |
| 50 | +I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-machine-api-aws-cloud-credentials' |
| 51 | +I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-cloud-credential-operator-cloud-crede' |
| 52 | +I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-image-registry-installer-cloud-creden' |
| 53 | +I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-ingress-operator-cloud-credentials' |
| 54 | +I: Created policy with ARN 'arn:aws:iam::000000000000:policy/ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credent' |
| 55 | +I: To create a cluster with these roles, run the following command: |
| 56 | +rosa create cluster --sts |
| 57 | +---- |
| 58 | + |
| 59 | +== Associating your AWS account with your Red Hat account |
| 60 | +This step tells the OpenShift Cluster Manager what AWS account you want to use when deploying ROSA. |
| 61 | + |
| 62 | +[NOTE] |
| 63 | +==== |
| 64 | +If you have already associated your AWS accounts, skip this step. |
| 65 | +==== |
| 66 | + |
| 67 | +. Open the OpenShift Cluster Manager by visiting the Red Hat link:https://console.redhat.com/openshift[console] and logging in to your Red Hat account. |
| 68 | + |
| 69 | +. Click *Create Cluster*. |
| 70 | + |
| 71 | +. Scroll down to the {product-title} (ROSA) row and click *Create Cluster*. |
| 72 | ++ |
| 73 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-create.png[] |
| 74 | + |
| 75 | +. A dropdown menu appears. Click *With web interface*. |
| 76 | ++ |
| 77 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-web-interface.png[] |
| 78 | + |
| 79 | +. Under "Select an AWS control plane type," choose *Classic*. Then click *Next*. |
| 80 | ++ |
| 81 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-classic.png[] |
| 82 | + |
| 83 | +. Click the dropbox under *Associated AWS infrastructure account*. If you have not yet associated any AWS accounts, the dropbox may be empty. |
| 84 | + |
| 85 | +. Click *How to associate a new AWS account*. |
| 86 | ++ |
| 87 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-associate.png[] |
| 88 | + |
| 89 | +. A sidebar appears with instructions for associating a new AWS account. |
| 90 | ++ |
| 91 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-associate2.png[] |
| 92 | + |
| 93 | +== Creating and associating an OpenShift Cluster Manager role |
| 94 | + |
| 95 | +. Run the following command to see if an OpenShift Cluster Manager role exists: |
| 96 | ++ |
| 97 | +[source,terminal] |
| 98 | +---- |
| 99 | +$ rosa list ocm-role |
| 100 | +---- |
| 101 | + |
| 102 | +. The UI displays the commands to create an OpenShift Cluster Manager role with two different levels of permissions: |
| 103 | ++ |
| 104 | +* *Basic OpenShift Cluster Manager role:* Allows the OpenShift Cluster Manager to have read-only access to the account to check if the roles and policies that are required by ROSA are present before creating a cluster. You will need to manually create the required roles, policies, and OIDC provider using the CLI. |
| 105 | +* *Admin OpenShift Cluster Manager role:* Grants the OpenShift Cluster Manager additional permissions to create the required roles, policies, and OIDC provider for ROSA. Using this makes the deployment of a ROSA cluster quicker since the OpenShift Cluster Manager will be able to create the required resources for you. |
| 106 | ++ |
| 107 | +To read more about these roles, see the xref:../../../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-ocm-roles-and-permissions_rosa-sts-about-iam-resources[OpenShift Cluster Manager roles and permissions] section of the documentation. |
| 108 | ++ |
| 109 | +For the purposes of this tutorial, use the *Admin OpenShift Cluster Manager role* for the simplest and quickest approach. |
| 110 | + |
| 111 | +. Copy the command to create the Admin OpenShift Cluster Manager role from the sidebar or switch to your terminal and enter the following command: |
| 112 | ++ |
| 113 | +[source,terminal] |
| 114 | +---- |
| 115 | +$ rosa create ocm-role --mode auto --admin --yes |
| 116 | +---- |
| 117 | ++ |
| 118 | +This command creates the OpenShift Cluster Manager role and associates it with your Red Hat account. |
| 119 | ++ |
| 120 | +.Example output |
| 121 | ++ |
| 122 | +[source,terminal] |
| 123 | +---- |
| 124 | +I: Creating ocm role |
| 125 | +I: Creating role using 'arn:aws:iam::000000000000:user/rosa-user' |
| 126 | +I: Created role 'ManagedOpenShift-OCM-Role-12561000' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-OCM-Role-12561000' |
| 127 | +I: Linking OCM role |
| 128 | +I: Successfully linked role-arn 'arn:aws:iam::000000000000:role/ManagedOpenShift-OCM-Role-12561000' with organization account '1MpZfntsZeUdjWHg7XRgP000000' |
| 129 | +---- |
| 130 | + |
| 131 | +. Click *Step 2: User role*. |
| 132 | + |
| 133 | +=== Other OpenShift Cluster Manager role creation options |
| 134 | +* *Manual mode:* If you prefer to run the AWS CLI commands yourself, you can define the mode as `manual` rather than `auto`. The CLI will output the AWS commands and the relevant JSON files are created in the current directory. |
| 135 | ++ |
| 136 | +Use the following command to create the OpenShift Cluster Manager role in manual mode: |
| 137 | ++ |
| 138 | +[source,terminal] |
| 139 | +---- |
| 140 | +$ rosa create ocm-role --mode manual --admin --yes |
| 141 | +---- |
| 142 | +* *Basic OpenShift Cluster Manager role:* If you prefer that the OpenShift Cluster Manager has read only access to the account, create a basic OpenShift Cluster Manager role. You will then need to manually create the required roles, policies, and OIDC provider using the CLI. |
| 143 | ++ |
| 144 | +Use the following command to create a Basic OpenShift Cluster Manager role: |
| 145 | ++ |
| 146 | +[source,terminal] |
| 147 | +---- |
| 148 | +$ rosa create ocm-role --mode auto --yes |
| 149 | +---- |
| 150 | + |
| 151 | +== Creating an OpenShift Cluster Manager user role |
| 152 | + |
| 153 | +As defined in the xref:../../../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-understanding-user-role_rosa-sts-about-iam-resources[user role documentation], the user role needs to be created so that ROSA can verify your AWS identity. This role has no permissions, and it is only used to create a trust relationship between the installation program account and your OpenShift Cluster Manager role resources. |
| 154 | + |
| 155 | +. Check if a user role already exists by running the following command: |
| 156 | ++ |
| 157 | +[source,terminal] |
| 158 | +---- |
| 159 | +$ rosa list user-role |
| 160 | +---- |
| 161 | + |
| 162 | +. Run the following command to create the user role and to link it to your Red Hat account: |
| 163 | ++ |
| 164 | +[source,terminal] |
| 165 | +---- |
| 166 | +$ rosa create user-role --mode auto --yes |
| 167 | +---- |
| 168 | ++ |
| 169 | +.Example output |
| 170 | ++ |
| 171 | +[source,terminal] |
| 172 | +---- |
| 173 | +I: Creating User role |
| 174 | +I: Creating ocm user role using 'arn:aws:iam::000000000000:user/rosa-user' |
| 175 | +I: Created role 'ManagedOpenShift-User-rosa-user-Role' with ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-User-rosa-user-Role' |
| 176 | +I: Linking User role |
| 177 | +I: Successfully linked role ARN 'arn:aws:iam::000000000000:role/ManagedOpenShift-User-rosa-user-Role' with account '1rbOQez0z5j1YolInhcXY000000' |
| 178 | +---- |
| 179 | ++ |
| 180 | +[NOTE] |
| 181 | +==== |
| 182 | +As before, you can define `--mode manual` if you'd prefer to run the AWS CLI commands yourself. The CLI outputs the AWS commands and the relevant JSON files are created in the current directory. Make sure to link the role. |
| 183 | +==== |
| 184 | + |
| 185 | +. Click *Step 3: Account roles*. |
| 186 | + |
| 187 | +== Creating account roles |
| 188 | +. Create your account roles by running the following command: |
| 189 | ++ |
| 190 | +[source,terminal] |
| 191 | +---- |
| 192 | +$ rosa create account-roles --mode auto |
| 193 | +---- |
| 194 | + |
| 195 | +. Click *OK* to close the sidebar. |
| 196 | + |
| 197 | +== Confirming successful account association |
| 198 | + |
| 199 | +. You should now see your AWS account in the *Associated AWS infrastructure account* dropdown menu. If you see your account, account association was successful. |
| 200 | + |
| 201 | +. Select the account. |
| 202 | + |
| 203 | +. You will see the account role ARNs populated below. |
| 204 | ++ |
| 205 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-account-roles.png[] |
| 206 | + |
| 207 | +. Click *Next*. |
| 208 | + |
| 209 | +== Creating the cluster |
| 210 | + |
| 211 | +. For the purposes of this tutorial make the following selections: |
| 212 | ++ |
| 213 | +.Cluster settings |
| 214 | ++ |
| 215 | +* Cluster name: **<pick a name\>** |
| 216 | +* Version: **<select latest version\>** |
| 217 | +* Region: **<select region\>** |
| 218 | +* Availability: **Single zone** |
| 219 | +* Enable user workload monitoring: **leave checked** |
| 220 | +* Enable additional etcd encryption: **leave unchecked** |
| 221 | +* Encrypt persistent volumes with customer keys: **leave unchecked** |
| 222 | + |
| 223 | +. Click *Next*. |
| 224 | + |
| 225 | +. Leave the default settings on for the machine pool: |
| 226 | ++ |
| 227 | +.Default machine pool settings |
| 228 | ++ |
| 229 | +* Compute node instance type: **m5.xlarge - 4 vCPU 16 GiB RAM** |
| 230 | +* Enable autoscaling: **unchecked** |
| 231 | +* Compute node count: **2** |
| 232 | +* Leave node labels blank |
| 233 | + |
| 234 | +. Click *Next*. |
| 235 | + |
| 236 | +=== Networking |
| 237 | + |
| 238 | +. Leave all the default values for configuration. |
| 239 | + |
| 240 | +. Click *Next*. |
| 241 | + |
| 242 | +. Leave all the default values for CIDR ranges. |
| 243 | + |
| 244 | +. Click *Next*. |
| 245 | + |
| 246 | +=== Cluster roles and policies |
| 247 | +For this tutorial, leave *Auto* selected. It will make the cluster deployment process simpler and quicker. |
| 248 | + |
| 249 | +[NOTE] |
| 250 | +==== |
| 251 | +If you selected a *Basic OpenShift Cluster Manager role* earlier, you can only use manual mode. You must manually create the operator roles and OIDC provider. See the "Basic OpenShift Cluster Manager role" section below after you have completed the "Cluster updates" section and started cluster creation. |
| 252 | +==== |
| 253 | + |
| 254 | +=== Cluster updates |
| 255 | +* Leave all the options at default in this section. |
| 256 | + |
| 257 | +=== Reviewing and creating your cluster |
| 258 | +. Review the content for the cluster configuration. |
| 259 | +. Click *Create cluster*. |
| 260 | + |
| 261 | +=== Monitoring the installation progress |
| 262 | +* Stay on the current page to monitor the installation progress. It should take about 40 minutes. |
| 263 | ++ |
| 264 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-cluster-create.png[] |
| 265 | + |
| 266 | +== Basic OpenShift Cluster Manager Role |
| 267 | + |
| 268 | +[NOTE] |
| 269 | +If you created an *Admin OpenShift Cluster Manager role* as directed above *ignore* this entire section. The OpenShift Cluster Manager will create the resources for you. |
| 270 | + |
| 271 | +If you created a *Basic OpenShift Cluster Manager role* earlier, you will need to manually create two more elements before cluster installation can continue: |
| 272 | + |
| 273 | +* Operator roles |
| 274 | +* OIDC provider |
| 275 | + |
| 276 | +//To understand what these do, please see the ROSA with AWS STS Explained tutorial section. xref needed |
| 277 | + |
| 278 | +=== Creating Operator roles |
| 279 | +. A pop up window will show you the commands to run. |
| 280 | ++ |
| 281 | +image::cloud-experts-getting-started-rosa-deployment-detailed-ui-create-cmds.png[] |
| 282 | + |
| 283 | +. Run the commands from the window in your terminal to launch interactive mode. Or, for simplicity, run the following command to create the Operator roles: |
| 284 | ++ |
| 285 | +[source,terminal] |
| 286 | +---- |
| 287 | +$ rosa create operator-roles --mode auto --cluster <cluster-name> --yes |
| 288 | +---- |
| 289 | ++ |
| 290 | +.Example output |
| 291 | ++ |
| 292 | +[source,terminal] |
| 293 | +---- |
| 294 | +I: Creating roles using 'arn:aws:iam::000000000000:user/rosauser' |
| 295 | +I: Created role 'rosacluster-b736-openshift-ingress-operator-cloud-credentials' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-ingress-operator-cloud-credentials' |
| 296 | +I: Created role 'rosacluster-b736-openshift-cluster-csi-drivers-ebs-cloud-credent' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-cluster-csi-drivers-ebs-cloud-credent' |
| 297 | +I: Created role 'rosacluster-b736-openshift-cloud-network-config-controller-cloud' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-cloud-network-config-controller-cloud' |
| 298 | +I: Created role 'rosacluster-b736-openshift-machine-api-aws-cloud-credentials' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-machine-api-aws-cloud-credentials' |
| 299 | +I: Created role 'rosacluster-b736-openshift-cloud-credential-operator-cloud-crede' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-cloud-credential-operator-cloud-crede' |
| 300 | +I: Created role 'rosacluster-b736-openshift-image-registry-installer-cloud-creden' with ARN 'arn:aws:iam::000000000000:role/rosacluster-b736-openshift-image-registry-installer-cloud-creden' |
| 301 | +---- |
| 302 | + |
| 303 | +=== Creating the OIDC provider |
| 304 | + |
| 305 | +* In your terminal, run the following command to create the OIDC provider: |
| 306 | ++ |
| 307 | +[source,terminal] |
| 308 | +---- |
| 309 | +$ rosa create oidc-provider --mode auto --cluster <cluster-name> --yes |
| 310 | +---- |
| 311 | ++ |
| 312 | +.Example output |
| 313 | ++ |
| 314 | +[source,terminal] |
| 315 | +---- |
| 316 | +I: Creating OIDC provider using 'arn:aws:iam::000000000000:user/rosauser' |
| 317 | +I: Created OIDC provider with ARN 'arn:aws:iam::000000000000:oidc-provider/rh-oidc.s3.us-east-1.amazonaws.com/1tt4kvrr2kha2rgs8gjfvf0000000000' |
| 318 | +---- |
0 commit comments