Cloud Experts Documentation

ARO IBM Cloud Paks 4 Data

This content is authored by Red Hat experts, but has not yet been tested on every supported configuration.

A Quickstart guide to deploying an Azure Red Hat OpenShift cluster with IBM Cloud Paks 4 Data.

Video Walkthrough

If you prefer a more visual medium, you can watch [Kristopher White] walk through this quickstart on YouTubeexternal link (opens in new tab) .


Azure CLI

Obviously you’ll need to have an Azure account to configure the CLI against.


See Azure Docsexternal link (opens in new tab) for alternative install options.

  1. Install Azure CLI using homebrew

    brew update && brew install azure-cli


See Azure Docsexternal link (opens in new tab) for alternative install options.

  1. Import the Microsoft Keys

    sudo rpm --import
  2. Add the Microsoft Yum Repository

    cat << EOF | sudo tee /etc/yum.repos.d/azure-cli.repo
    name=Azure CLI
  3. Install Azure CLI

    sudo dnf install -y azure-cli

Prepare Azure Account for Azure OpenShift

  1. Log into the Azure CLI by running the following and then authorizing through your Web Browser

    az login
  2. Make sure you have enough Quota (change the location if you’re not using East US)

    az vm list-usage --location "East US" -o table

    see Addendum - Adding Quota to ARO account if you have less than 36 Quota left for Total Regional vCPUs.

  3. Register resource providers

    az provider register -n Microsoft.RedHatOpenShift --wait
    az provider register -n Microsoft.Compute --wait
    az provider register -n Microsoft.Storage --wait
    az provider register -n Microsoft.Authorization --wait

Get Red Hat pull secret

This step is optional, but highly recommended

  1. Log into

  2. Browse to

  3. click the Download pull secret button and remember where you saved it, you’ll reference it later.

Deploy Azure OpenShift

Variables and Resource Group

Set some environment variables to use later, and create an Azure Resource Group.

  1. Set the following environment variables

    Change the values to suit your environment, but these defaults should work.

  2. Create an Azure resource group

    az group create \
      --name $AZR_RESOURCE_GROUP \
      --location $AZR_RESOURCE_LOCATION


Create a virtual network with two empty subnets

  1. Create virtual network

    az network vnet create \
      --address-prefixes \
      --name "$AZR_CLUSTER-aro-vnet-$AZR_RESOURCE_LOCATION" \
      --resource-group $AZR_RESOURCE_GROUP
  2. Create control plane subnet

    az network vnet subnet create \
      --resource-group $AZR_RESOURCE_GROUP \
      --vnet-name "$AZR_CLUSTER-aro-vnet-$AZR_RESOURCE_LOCATION" \
      --name "$AZR_CLUSTER-aro-control-subnet-$AZR_RESOURCE_LOCATION" \
      --address-prefixes \
      --service-endpoints Microsoft.ContainerRegistry
  3. Create machine subnet

    az network vnet subnet create \
      --resource-group $AZR_RESOURCE_GROUP \
      --vnet-name "$AZR_CLUSTER-aro-vnet-$AZR_RESOURCE_LOCATION" \
      --name "$AZR_CLUSTER-aro-machine-subnet-$AZR_RESOURCE_LOCATION" \
      --address-prefixes \
      --service-endpoints Microsoft.ContainerRegistry
  4. Disable network policies on the control plane subnet

    This is required for the service to be able to connect to and manage the cluster.

    az network vnet subnet update \
      --name "$AZR_CLUSTER-aro-control-subnet-$AZR_RESOURCE_LOCATION" \
      --resource-group $AZR_RESOURCE_GROUP \
      --vnet-name "$AZR_CLUSTER-aro-vnet-$AZR_RESOURCE_LOCATION" \
      --disable-private-link-service-network-policies true
  5. Create the cluster

    This will take between 30 and 45 minutes.

    az aro create \
      --resource-group $AZR_RESOURCE_GROUP \
      --name $AZR_CLUSTER \
      --vnet "$AZR_CLUSTER-aro-vnet-$AZR_RESOURCE_LOCATION" \
      --master-subnet "$AZR_CLUSTER-aro-control-subnet-$AZR_RESOURCE_LOCATION" \
      --worker-subnet "$AZR_CLUSTER-aro-machine-subnet-$AZR_RESOURCE_LOCATION" \
      --worker-vm-size Standard_D16s_v3 \
      --pull-secret @$AZR_PULL_SECRET
  6. Get OpenShift console URL

    az aro show \
      --name $AZR_CLUSTER \
      --resource-group $AZR_RESOURCE_GROUP \
      -o tsv --query consoleProfile
  7. Get OpenShift credentials

    az aro list-credentials \
      --name $AZR_CLUSTER \
      --resource-group $AZR_RESOURCE_GROUP \
      -o tsv
  8. Use the URL and the credentials provided by the output of the last two commands to log into OpenShift via a web browser.

ARO login page

Cloud Paks 4 Data Operator Setup

Adding IBM Operator Catalog to Openshift

  1. Log into the OpenShift web console with your OpenShift cluster admin credentials.

  2. In the top banner, click the plus (+) icon to open the Import YAML dialog box.

  3. Paste this resource definition into the dialog box:

kind: CatalogSource
  name: ibm-operator-catalog
  namespace: openshift-marketplace
  displayName: IBM Operator Catalog
  image: ''
  publisher: IBM
  sourceType: grpc
      interval: 45m
  1. Click Create.

IBM Cloud Paks 4 Data Operator Install

Admin View
  1. Log into the OpenShift web console with your OpenShift cluster admin credentials.

  2. Make sure you have selected the Administrator view.

  3. Click Operators > OperatorHub > Integration & Delivery.

  4. Search for and click the tile for the IBM Cloud Pak for Integration operator.

  5. Click Install.

  6. In the Install Operator pane:

  7. Select the latest update channel.

  8. Select the option to install Cloud Pak for Integration in one namespace or for all namespaces on your cluster. If in doubt, choose the All namespaces on the cluster installation mode, and accept the default Installed Namespace.

  9. Select the Automatic approval strategy.

  10. Click Install.

Successful Install

Cloud Paks Operators

Delete Cluster

Once you’re done its a good idea to delete the cluster to ensure that you don’t get a surprise bill.

  1. Delete the cluster

    az aro delete -y \
      --resource-group $AZR_RESOURCE_GROUP \
      --name $AZR_CLUSTER
  2. Delete the Azure resource group

    Only do this if there’s nothing else in the resource group.

    az group delete -y \
      --name $AZR_RESOURCE_GROUP

Interested in contributing to these docs?

Collaboration drives progress. Help improve our documentation The Red Hat Way.

Red Hat logo LinkedIn YouTube Facebook Twitter



Try, buy & sell


About Red Hat

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Subscribe to our newsletter, Red Hat Shares

Sign up now
© 2023 Red Hat, Inc.