Deploying foundational services instance by using the OpenShift console

The following procedure guides you through the deployment of the foundational services instance by using the OpenShift console.

If you want to use the command-line interface (CLI), see Deploying the foundational services instances by using the CLI.

Procedure

  1. Creating the OperandRequest instance
  2. Verifying the installation
  3. Accessing the foundational services console
  4. Accessing Business Teams Service console
  5. Enabling or disabling foundational services after installation

In your OpenShift console, go to foundational-services namespace > Operators > Installed Operators to see the IBM Cloud Pak foundational services operator and the Operand Deployment Lifecycle Manager operator.

Operand Deployment Lifecycle Manager provides the following APIs:

  • OperandConfig includes all services that are available for you to install in your cluster.
  • OperandRegistry is for internal management of the services.
  • OperandRequest is the API where you add the services that you want to install in your cluster.
  • OperandBindInfo is the API that manages secrets and configmaps between namespaces.
  • OperatorConfig is for internal management of the operators.
Note: When the sourceName is not explicitly specified for an operator in OperandRegistry, the Operand Deployment Lifecycle Manager (ODLM) looks for the available CatalogSource of an operator when creating the subscription. ODLM chooses the CatalogSource according to the following criteria :
  1. Excluding the following community CatalogSources: certified-operators, community-operators, redhat-marketplace, redhat-operators, ibm-cp-automation-foundation-catalog, operatorhubio-catalog.
  2. CatalogSources in the operator namespace (private CatalogSource) have a higher priority than CatalogSources in other namespaces (global CatalogSource).
  3. CatalogSources with higher .spec.priority values are picked up first.
  4. If both CatalogSources are in the same namespace and have the same priority, the CatalogSource that is used to install ODLM and is available to install the operator is chosen first.
  5. If all above conditions are the same, the CatalogSources are sorted based on their names in lexicographical order, and the first one with the shortest name will be picked up.

Operand Deployment Lifecycle Manager creates the OperandRegistry and OperandConfig instances by default. You must manually create the OperandRequest instance to specify the services that you want to install in your cluster.

Creating the OperandRequest instance

To create the instance, click Operand Deployment Lifecycle Manager, select the OperandRequest tab, and click Create OperandRequest. On the Create OperandRequest page, select a configuration mode: Form View or YAML View.

  • The Form View provides a simple installation option. However, not all configuration options are supported in the Form View. For example, you cannot add the bindings configuration.

  • The YAML View provides a YAML editor that you can use for installing foundational services. The editor supports all configuration options.

Creating the OperandRequest instance by using the form view

Complete the following steps to use the form to create the OperandRequest instance. The Create OperandRequest page uses the Form View by default.

  1. Provide the following parameters on the form:

    • Name: A name for your OperandRequest instance.
    • Requests: Expand the Requests drawer to specify the list of foundational services that you want to install in your cluster.
      • Operands - Expand the Operands drawer. In the name field, specify the operator name of the service that you want to install in your cluster. For the foundational services operator names, see Foundational services operators and versions. Click Add operand to add as many service operators as you need.
      • registry - Name of the OperandRegistry. Use common-service.
      • description - (Optional) Provide a description of your request.
      • registryNamespace - (Optional) Namespace of OperandRegistry and OperandConfig.
        • If you do not specify a namespace, ODLM looks for OperandRegistry and OperandConfig in the same namespace where you create the OperandRequest, that is, foundational-services.
        • If you specify a namespace, ODLM looks for OperandRegistry and OperandConfig in the namespace that you specified.
  2. Click Create.

To view the list of services that are installed in your cluster, go to Operators > Installed Operators.

Creating the OperandRequest instance by using the YAML View

Complete the following steps to use the YAML to create the OperandRequest instance.

  1. On the Create OperandRequest page, select YAML View.

  2. Paste the following content in the YAML editor:

    apiVersion: operator.ibm.com/v1alpha1
    kind: OperandRequest
    metadata:
      name: <custom-name-of-operand-request>
      namespace: <your-foundational-services-namespace>
      labels:
        app.kubernetes.io/instance: operand-deployment-lifecycle-manager
        app.kubernetes.io/managed-by: operand-deployment-lifecycle-manager
        app.kubernetes.io/name: operand-deployment-lifecycle-manager
    spec:
      requests:
        - operands:
            - name: ibm-im-operator
            - name: ibm-platformui-operator
          registry: common-service
    
    Note: You can create the OperandRequest in any namespace. If you create the OperandRequest in a different namespace than where OperandRegistry and OperandConfig custom resources are, change the namespace: parameter value to the namespace from where you are creating the OperandRequest. Add the registryNamespace: <your-foundational-services-namespace> parameter in the OperandRequest. See the following example:
    apiVersion: operator.ibm.com/v1alpha1
    kind: OperandRequest
    metadata:
      name: <custom-name-of-operand-request>
      namespace: <OperandRequest namespace>
    spec:
      requests:
        - operands:
            - name: ibm-im-operator
             .
             .
             .
          registry: common-service
          registryNamespace: <your-foundational-services-namespace>
    
  3. In the spec.requests.operands section, retain the operator names of the services that you want to install in your cluster. You can remove the services that you do not want. If you want to install additional services that are not listed in the example, reach out to your IBM Cloud Paks team for the operator names.

    Note: The OperandRequest instance name must be unique in the namespace. You can create multiple OperandRequest instances in a namespace.
  4. (Optional) Add bindings to access a service. This step is optional. For more information, see Accessing the services.

  5. Click Create.

To view the list of services that are installed in your cluster, fo to Operators > Installed Operators.

Verifying the installation

Checking the status of the operator

  1. From the navigation pane, click Home > Overview. The cluster status is displayed.

  2. Click Operators on the status card. The operator statuses are displayed.

  3. Click View all. All the operators that are installed in the cluster are displayed.

  4. Check the status of the foundational services operators. All operators must be in the Succeeded status.

    Note: If your operator does not show the Succeeded status, see Operator shows Pending status in a namespace.

Checking pod status

To verify the installation, check whether all pods in the foundational services namespace are running. By default, the namespace is foundational-services. You can check from the console by clicking Workloads > Pods under <your-foundational-services-namespace> project. You can also check by using the CLI:

oc get pods -n <your-foundational-services-namespace>

Use the following command to verify whether the foundational services are successfully installed:

oc -n <your-foundational-services-namespace> get csv

Accessing the foundational services console

Retrieve your access URL, username, and password.

Getting the console URL

Get the URL to access the console.

You can get the IBM Cloud Pak console route for accessing the Administration panel by running the following command:

oc get route -n <your-foundational-services-namespace> cp-console -o jsonpath='{.spec.host}' && echo

The response is your https://<cluster_address>. <cluster_address> is the IBM Cloud Pak console route. Following is a sample output:

cp-console.apps.mycluster.mydomain.com

Based on the example output, your console URL would be https://cp-console.apps.mycluster.mydomain.com.

Getting the console username

The default username to access the console is cpadmin. You can get the default username by running the following command:

oc -n <your-foundational-services-namespace> get secret platform-auth-idp-credentials -o jsonpath='{.data.admin_username}' | base64 -d && echo

Getting the password

You can get the password for the default username by running the following command:

oc -n <your-foundational-services-namespace> get secret platform-auth-idp-credentials -o jsonpath='{.data.admin_password}' | base64 -d &&echo

Following is a sample output:

EwK9dj9fwPZHyHTyu9TyIgh9klZSzVsA

Based on the example output, you would use EwK9dj9fwPZHyHTyu9TyIgh9klZSzVsA as the password.

You can change the default password at any time. For more information, see Changing the cluster administrator password.

Note: Any user with access to the foundational-services namespace can retrieve this password since it is stored in a secret in the foundational-services namespace. To minimize password exposure, allow limited users to access the foundational-services namespace.

Accessing Business Teams Service console

Navigate to http://<cpd_host>/teamserver/ui to access the UI where the cpd-host is the cpd route. To obtain the cpd route, run the following command:

oc get route cpd

Log in with a user role that has the Administrate business teams permission. For more information, see Business Teams Service Authorization.

Enabling or disabling foundational services after installation

After you create an instance of the OperandRequest, you must use the same instance to enable or disable foundational services.

  1. Ensure that you are in the foundational-services namespace.
  2. Select the Operators > Installed Operators > Operand Deployment Lifecycle Manager > OperandRequest tab.
  3. Edit the OperandRequest instance. You can enable a service by adding it into the spec.requests.operands list, or disable a service by removing it from the spec.requests.operands list.
  4. Update the YAML file with your changes and click Save.