Creating a VPC cluster without an Object Storage bucket
Virtual Private Cloud
Create an Red Hat OpenShift on IBM Cloud cluster on VPC without an IBM Cloud Object Storage bucket backing the internal image registry. For environments that must meet IBM Financial Services Cloud requirements, you can create the cluster without an IBM Cloud Object Storage instance and pull container images directly from IBM Cloud Container Registry. When no IBM Cloud Object Storage instance
is provided at cluster creation, the internal registry uses ephemeral emptyDir storage, which ensures the cluster operates consistently with FS Cloud standards that rely on centralized image management rather than the internal registry.
Audience
This tutorial is for cluster administrators who are creating an Red Hat OpenShift on IBM Cloud cluster on VPC infrastructure in environments that must meet IBM Financial Services Cloud requirements. It is intended for teams that need to use IBM Cloud Container Registry as the primary image registry instead of the cluster-internal registry.
Objectives
In this tutorial, you create an Red Hat OpenShift on IBM Cloud VPC cluster without configuring an IBM Cloud Object Storage instance, consistent with IBM Financial Services Cloud standards. The cluster's internal image registry uses ephemeral
emptyDir storage, and images are managed centrally through IBM Cloud Container Registry.
What you'll get
In this tutorial, you create the following resources. There are optional steps to delete these resources if you do not want to keep them after completing the tutorial.
- An Red Hat OpenShift on IBM Cloud cluster on VPC without a COS-backed internal registry
- Cluster access configured for administrative use
Before you begin
Complete the following prerequisite steps before you create your cluster.
The decision to omit an IBM Cloud Object Storage instance is permanent. After you create a cluster, you cannot add or remove a COS-backed internal registry. If your requirements change and you need persistent internal registry storage, you must create a new cluster and provide a COS instance at creation time.
- Permissions
- If you are the account owner, you already have the required permissions to create a cluster and can continue to the next step. Otherwise, ask the account owner to set up the API key and assign you the minimum user permissions in IBM Cloud IAM.
- Command-line tools
- Set up your local command-line environment by completing the following steps.
- Install the IBM Cloud CLI (
ibmcloud). - Install the Red Hat OpenShift on IBM Cloud plug-in.
ibmcloud plugin install kubernetes-service - Install the Red Hat OpenShift CLI (
oc). For instructions, see Installing the OpenShift CLI.
- Install the IBM Cloud CLI (
- VPC infrastructure
- Before you create your cluster, you must have an existing VPC and subnet. To create them, see Creating a VPC and subnet.
Create the cluster
Create an Red Hat OpenShift on IBM Cloud cluster on VPC without providing an IBM Cloud Object Storage instance. When no COS instance is specified, the internal image registry is backed by emptyDir storage.
When you omit the --cos-instance option from the cluster creation command, the internal registry uses emptyDir storage instead of IBM Cloud Object Storage. emptyDir storage is ephemeral — data stored in
the registry is lost when the image-registry pod restarts or is rescheduled. This setup is not suitable for production use cases that rely on the internal registry. If you need a persistent internal registry in the future, you can configure
an IBM Cloud Object Storage bucket after cluster creation. For more information, see Backing up your internal image registry to IBM Cloud Object Storage.
-
Log in to the IBM Cloud account, resource group, and region where you want to create your cluster. If you have a federated ID, include the
--ssooption.ibmcloud login -r REGION [-g RESOURCE_GROUP] [--sso] -
Create the cluster. Replace the placeholder values with your own cluster name, zone, Red Hat OpenShift version, worker node flavor, VPC ID, and subnet ID.
ibmcloud oc cluster create vpc-gen2 \ --name <cluster-name> \ --zone <zone> \ --version <openshift-version> \ --flavor <worker-flavor> \ --workers <number-of-workers> \ --vpc-id <vpc-id> \ --subnet-id <subnet-id>Notice that the command does not include the
--cos-instanceoption. Omitting this option is what configures the internal registry to useemptyDirstorage. -
Wait for the cluster to finish provisioning. This process might take 20 - 30 minutes. Monitor the cluster state by running the following command until the State field shows
normal.ibmcloud oc cluster get --cluster CLUSTER_NAME
Configure cluster access
After your cluster is running, download the cluster configuration to set up oc CLI access.
- Download the cluster configuration file and set the
KUBECONFIGenvironment variable.ibmcloud oc cluster config --cluster CLUSTER_NAME --admin - Verify that you can connect to the cluster.
All nodes should show a STATUS ofoc get nodesReady.
Verify the image registry configuration
Confirm that the internal image registry is using emptyDir storage as expected.
- Check the image registry deployment status.
oc get deployment -n openshift-image-registry - Confirm the storage type in the image registry configuration. In the output, the
storagefield should showemptyDir: {}.oc get configs.imageregistry.operator.openshift.io cluster -o yaml
What's next?
Your cluster is now running with an emptyDir-backed internal registry. You can push and pull images by using IBM Cloud Container Registry.
- Push images to IBM Cloud Container Registry and pull them directly into your cluster workloads.
- Configure an image pull secret so that your pods can pull images from IBM Cloud Container Registry.
- Set up IBM Cloud monitoring to observe your cluster.
- If you want to add persistent internal registry storage later, see Backing up your internal image registry to IBM Cloud Object Storage.
- If you see an
E7278error during cluster creation, see Why do I get an error about a cloud object storage bucket when I create a cluster?. If the steps there do not resolve the issue, contact IBM Cloud support.