---
name: openshift-openshift_ingress_qs_roks4
title: Quick start for Ingress
description: Quickly expose your app to the Internet by creating an Ingress resource.
last-updated: 2026-07-30
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/openshift?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Quick start for Ingress
{: #ingress-qs-roks4}

Quickly expose your app to the Internet by creating an Ingress resource.
{: shortdesc}

## Before you begin
{: #ingress-qs-prereqs}

- You must have an app deployed in your cluster. If you don't have an app deployed yet, see [Deploying apps in Red Hat OpenShift clusters](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy_app&format=markdown).
- Make sure you have the [**Writer** or **Manager** IBM Cloud IAM service access role](https://cloud.ibm.com/docs/openshift?topic=openshift-iam-platform-access-roles&format=markdown) for the cluster.
- [Access your Red Hat OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-access_cluster&format=markdown).

Not sure whether to use Ingress or Routes? See [Choosing among load balancing solutions](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_network_planning&format=markdown#load-balancing-comparison).
{: tip}

## Exposing your app with Ingress
{: #ingress-qs-steps}

1. Create a Kubernetes `ClusterIP` service for your app deployment.
    ```sh
    oc expose deploy <app_deployment_name> --name my-app-svc --port <app_port> -n <project>
    ```
    {: pre}

2. Get the Ingress subdomain for your cluster.
    ```sh
    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID | grep 'Ingress Subdomain'
    ```
    {: pre}

    Example output

    ```sh
    Ingress Subdomain:      mycluster-a1b2cdef345678g9hi012j3kl4567890-0000.us-south.containers.appdomain.cloud
    ```
    {: screen}

3. Using the Ingress subdomain, create an Ingress resource file. Replace `<app_path>` with the path that your app listens on. If your app does not listen on a specific path, define the root path as a slash (`/`) only.

    ```yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: myingressresource
    spec:
      rules:
      - host: <ingress_subdomain>
        http:
          paths:
          - path: /<app_path>
            pathType: ImplementationSpecific
            backend:
              service:
                name: my-app-svc
                port:
                  number: 80
    ```
    {: codeblock}

4. Create the Ingress resource in the same project as your app service.
    ```sh
    oc apply -f myingressresource.yaml -n <project>
    ```
    {: pre}

5. In a web browser, enter the Ingress subdomain and the path for your app.
    ```sh
    http://<ingress_subdomain>/<app_path>
    ```
    {: codeblock}