The service catalog is deprecated in OpenShift Container Platform 4. Equivalent and better functionality is present in the Operator Framework and Operator Lifecycle Manager (OLM).

About the service catalog

When developing microservices-based applications to run on cloud native platforms, there are many ways to provision different resources and share their coordinates, credentials, and configuration, depending on the service provider and the platform.

To give developers a more seamless experience, OpenShift Container Platform includes a service catalog, an implementation of the Open Service Broker API (OSB API) for Kubernetes. This allows users to connect any of their applications deployed in OpenShift Container Platform to a wide variety of service brokers.

The service catalog allows cluster administrators to integrate multiple platforms using a single API specification. The OpenShift Container Platform web console displays the cluster service classes offered by service brokers in the service catalog, allowing users to discover and instantiate those services for use with their applications.

As a result, service users benefit from ease and consistency of use across different types of services from different providers, while service providers benefit from having one integration point that gives them access to multiple platforms.

The service catalog is not installed by default in OpenShift Container Platform 4.

Installing service catalog

If you plan on using any of the services from the OpenShift Ansible Broker or Template Service Broker, you must install the service catalog by completing the following steps.

The custom resources for the service catalog’s API server and controller manager are created by default in OpenShift Container Platform, but initially have a managementState of Removed. To install the service catalog, you must change the managementState for these resources to Managed.

Procedure
  1. Enable the service catalog API server:

    1. Use the following command to edit the service catalog API server resource:

      $ oc edit servicecatalogapiservers
    2. Under spec, set the managementState field to Managed:

      spec:
        logLevel: Normal
        managementState: Managed
    3. Save the file to apply the changes.

      The Operator installs the service catalog API server component. As of OpenShift Container Platform 4, this component is installed into the openshift-service-catalog-apiserver namespace.

  2. Enable the service catalog controller manager:

    1. Use the following command to edit the service catalog controller manager resource:

      $ oc edit servicecatalogcontrollermanagers
    2. Under spec, set the managementState field to Managed:

      spec:
        logLevel: Normal
        managementState: Managed
    3. Save the file to apply the changes.

      The Operator installs the service catalog controller manager component. As of OpenShift Container Platform 4, this component is installed into the openshift-service-catalog-controller-manager namespace.

Uninstalling service catalog

To uninstall the service catalog, you must change the managementState for the service catalog’s API server and controller manager resources from Managed to Removed.

Procedure
  1. Disable the service catalog API server:

    1. Use the following command to edit the service catalog API server resource:

      $ oc edit servicecatalogapiservers
    2. Under spec, set the managementState field to Removed:

      spec:
        logLevel: Normal
        managementState: Removed
    3. Save the file to apply the changes.

  2. Disable the service catalog controller manager:

    1. Use the following command to edit the service catalog controller manager resource:

      $ oc edit servicecatalogcontrollermanagers
    2. Under spec, set the managementState field to Removed:

      spec:
        logLevel: Normal
        managementState: Removed
    3. Save the file to apply the changes.

There is a known issue related to projects getting stuck in a "Terminating" state when attempting to delete them after disabling the service catalog. See the OpenShift Container Platform 4.1 Release Notes for a workaround. (BZ#1746174)