{"id":49269,"date":"2025-05-04T15:34:06","date_gmt":"2025-05-04T15:34:06","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=49269"},"modified":"2026-02-21T07:28:18","modified_gmt":"2026-02-21T07:28:18","slug":"openshift-install-configurations-using-azure-red-hat-openshift-aro-at-azure","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/openshift-install-configurations-using-azure-red-hat-openshift-aro-at-azure\/","title":{"rendered":"OpenShift Install &amp; Configurations using Azure Red Hat OpenShift (ARO) with Azure Portal"},"content":{"rendered":"\n<p>Here is the <strong>latest step-by-step guide<\/strong> (as of May 2026) to <strong>install and configure OpenShift using Azure Red Hat OpenShift (ARO)<\/strong> directly from the <strong>Azure Portal<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h1 class=\"wp-block-heading\">\u2601\ufe0f What is Azure Red Hat OpenShift (ARO)?<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>Azure Red Hat OpenShift (ARO)<\/td><\/tr><tr><td>Provider<\/td><td>Jointly managed by <strong>Microsoft Azure + Red Hat<\/strong><\/td><\/tr><tr><td>Type<\/td><td>Fully managed OpenShift 4.x cluster (no need to manage VMs or OS)<\/td><\/tr><tr><td>Billing<\/td><td>Pay-as-you-go via Azure subscription<\/td><\/tr><tr><td>Best Use Case<\/td><td>Enterprises needing production-ready OpenShift on Azure<\/td><\/tr><tr><td>Latest Version (2026)<\/td><td>OpenShift 4.14+<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf0 Prerequisites<\/h2>\n\n\n\n<p>\u2705 <strong>Azure Requirements<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure subscription (with sufficient quota)<\/li>\n\n\n\n<li>Azure AD permissions to create resources<\/li>\n\n\n\n<li>Resource group and virtual network (or permission to create them)<\/li>\n<\/ul>\n\n\n\n<p>\u2705 <strong>Permissions<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Role: <strong>Owner or Contributor<\/strong> for the subscription<\/li>\n\n\n\n<li>Network Contributor role for VNet, if using an existing VNet<\/li>\n<\/ul>\n\n\n\n<p>\u2705 <strong>Location<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ARO is supported in many Azure regions (e.g., East US, West Europe)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\ude80 Step-by-Step Guide to Deploy ARO via Azure Portal<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 1: Sign In to Azure Portal<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to: <a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/portal.azure.com\/<\/a><\/li>\n\n\n\n<li>Log in with your Azure credentials.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 2: Search for <strong>Azure Red Hat OpenShift<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the top search bar, type: <strong>Azure Red Hat OpenShift<\/strong><\/li>\n\n\n\n<li>Click the <strong>Azure Red Hat OpenShift<\/strong> service from the results.<\/li>\n\n\n\n<li>Click <strong>Create<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 3: Fill in the Basics<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Example \/ Notes<\/th><\/tr><\/thead><tbody><tr><td><strong>Subscription<\/strong><\/td><td>Choose your Azure subscription<\/td><\/tr><tr><td><strong>Resource Group<\/strong><\/td><td>Create new or use existing (e.g., <code>aro-rg<\/code>)<\/td><\/tr><tr><td><strong>Cluster Name<\/strong><\/td><td>E.g., <code>my-arocluster<\/code><\/td><\/tr><tr><td><strong>Region<\/strong><\/td><td>Choose supported region (e.g., East US)<\/td><\/tr><tr><td><strong>Domain<\/strong><\/td><td>Custom domain prefix (e.g., <code>myapps<\/code>)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>The FQDN will become: <code>myapps.&lt;region&gt;.aroapp.io<\/code><\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 4: Configure Networking<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>You can choose to:\n<ul class=\"wp-block-list\">\n<li>Use an <strong>existing virtual network<\/strong><\/li>\n\n\n\n<li>Or let Azure create one for you (recommended for beginners)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>If you use an existing VNet:\n<ul class=\"wp-block-list\">\n<li>Ensure <strong>two empty subnets<\/strong>: one for <strong>Master<\/strong> nodes and one for <strong>Worker<\/strong> nodes<\/li>\n\n\n\n<li>Both subnets must have <strong>service endpoints<\/strong> enabled for Microsoft.ContainerService<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 5: Select Cluster Size<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Node Type<\/th><th>Recommended<\/th><\/tr><\/thead><tbody><tr><td><strong>Master<\/strong><\/td><td>3 nodes (default, fixed)<\/td><\/tr><tr><td><strong>Worker<\/strong><\/td><td>Minimum 3 (can scale up later)<\/td><\/tr><tr><td><strong>VM Size<\/strong><\/td><td>e.g., Standard_D8s_v3 for workers<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 6: Authentication Configuration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use Azure Active Directory (AAD)<\/strong> or configure <strong>local users<\/strong>.<\/li>\n\n\n\n<li>You\u2019ll be asked to configure:\n<ul class=\"wp-block-list\">\n<li><strong>Cluster admin group<\/strong><\/li>\n\n\n\n<li><strong>Cluster user group<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>These are <strong>AAD security groups<\/strong> used for OpenShift access control.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 Step 7: Review + Create<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure will validate your settings.<\/li>\n\n\n\n<li>Click <strong>Create<\/strong>.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\ude80 It takes <strong>30\u201345 minutes<\/strong> to provision the full cluster.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h1 class=\"wp-block-heading\">\u2705 After Deployment: Accessing the ARO Cluster<\/h1>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"338\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-6-1024x338.png\" alt=\"\" class=\"wp-image-49385\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-6-1024x338.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-6-300x99.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-6-768x254.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-6-1536x507.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-6.png 1911w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"416\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-7-1024x416.png\" alt=\"\" class=\"wp-image-49388\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-7-1024x416.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-7-300x122.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-7-768x312.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-7-1536x624.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/05\/image-7.png 1902w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1. <strong>Web Console<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Once deployment completes, go to <strong>ARO resource<\/strong> in the Azure Portal.<\/li>\n\n\n\n<li>Click <strong>OpenShift web console<\/strong> link.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. <strong>Log in as Cluster Admin<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>Azure AD<\/strong> credentials for admin group members.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong>Access via <code>oc<\/code> CLI<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install <code>oc<\/code> CLI from:<br>\ud83d\udc49 <a href=\"https:\/\/mirror.openshift.com\/pub\/openshift-v4\/clients\/oc\/latest\/\" target=\"_blank\" rel=\"noopener\">https:\/\/mirror.openshift.com\/pub\/openshift-v4\/clients\/oc\/latest\/<\/a><\/li>\n\n\n\n<li>Log in using the command:<\/li>\n<\/ol>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">oc login https:\/\/api.<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">domain<\/span>&gt;<\/span>.aroapp.io:6443 --token=<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">your-token<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Token can be obtained from the web console under <strong>Copy Login Command<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd01 Day 2 Operations (Post-Install)<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Task<\/th><th>How-To<\/th><\/tr><\/thead><tbody><tr><td>Scale worker nodes<\/td><td>Use Azure Portal or CLI<\/td><\/tr><tr><td>Install Operators<\/td><td>From OpenShift OperatorHub<\/td><\/tr><tr><td>Manage Projects\/Apps<\/td><td>OpenShift Console \u2192 Developer view<\/td><\/tr><tr><td>Monitor Health<\/td><td>Console \u2192 Observe tab (Prometheus, Grafana)<\/td><\/tr><tr><td>RBAC &amp; Permissions<\/td><td>Manage via OpenShift Console or CLI<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udccc Tips &amp; Best Practices<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Tip<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Use Azure AD for RBAC<\/td><td>Simplifies user and group management<\/td><\/tr><tr><td>Avoid editing master nodes<\/td><td>They\u2019re managed by Azure\/Red Hat<\/td><\/tr><tr><td>Set up autoscaling (optional)<\/td><td>For cost-efficient cluster scaling<\/td><\/tr><tr><td>Tag your Azure resources<\/td><td>Helps with billing and cost management<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udcda References<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/openshift\/\" target=\"_blank\" rel=\"noopener\">ARO Docs (Official)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/mirror.openshift.com\/pub\/openshift-v4\/clients\/oc\/\" target=\"_blank\" rel=\"noopener\">OpenShift CLI (oc)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.redhat.com\/en\/technologies\/cloud-computing\/openshift\/azure\" target=\"_blank\" rel=\"noopener\">Red Hat ARO Product Page<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is the latest step-by-step guide (as of May 2026) to install and configure OpenShift using Azure Red Hat OpenShift (ARO) directly from the Azure Portal. \u2601\ufe0f What is Azure&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5153],"tags":[],"class_list":["post-49269","post","type-post","status-publish","format-standard","hentry","category-openshift"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/49269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=49269"}],"version-history":[{"count":5,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/49269\/revisions"}],"predecessor-version":[{"id":58969,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/49269\/revisions\/58969"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=49269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=49269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=49269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}