Deploying Cloud Pak for Integration using the OpenShift console

Deploying a IBM Cloud Pak® for Integration instance gives you access to IBM Cloud Pak Platform UI, where you can deploy and manage instances from a central location. This task must be performed by a Cluster Administrator.

This procedure describe how to deploy and configure a Cloud Pak for Integration instance using the OpenShift web console. To deploy using the CLI, see Deploying IBM Cloud Pak for Integration using the CLI.

Figure 1. Platform UI
Platform UI

Prerequisites

  • You are on a supported version of Red Hat Openshift. See Operating environment for details.

  • For online clusters, if you have not already created a secret called ibm-entitlement-key in the namespace where the instance will be created, see Applying your entitlement key.

  • An OpenShift cluster administrator must create one or more storage classes that support ReadWriteMany (RWX) and allows read and write access to non-root users. Supported storage providers include ibmc-file-gold-gid, OpenShift Data Foundation (formerly OpenShift Container Storage), Spectrum, and Portworx. For additional details about storage support and configuration, see Storage considerations.

Deploying with the OpenShift web console

Creating the Cloud Pak instance

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

  2. In the navigation panel, click Operators > Installed Operators.

  3. Change Project to the desired project/namespace name. Click the drop-down arrow and select your project name from the list.

  4. In the list on the Installed Operators panel, find and click IBM Cloud Pak for Integration.

  5. Click the Platform UI tab.

  6. Click Create PlatformNavigator. The Create PlatformNavigator panel opens, and offers two methods for configuring the resource; the Form view and the YAML view. The Form view is selected by default:

Configuring in the Form view

The Form view opens a form that lets you view or modify the resource configuration.
Note: Some fields may not be represented in the default form view.
  1. Change Project to your project (namespace) name. Click the drop-down arrow and select your project name from the list.

  2. In the Name field, enter a name for the new instance or leave the default.

  3. Next to License, click the arrow to expand the license acceptance section.

  4. Set License Accept to true if you accept the Cloud Pak for Integration license agreement. For details, see Licensing.

  5. For License LI, click the arrow to open the drop-down list, and select a license. For details about specific licenses, see the "Table of license versions" section in Licensing

  6. Specify the Storage class. Click the arrow to expand the Storage pane, then click the arrow for Select Storage Class and select a file storage class a file storage class that supports ReadWriteMany (RWX) volumes and allows read and write access to non-root users. Supported storage providers include ibmc-file-gold-gid, OpenShift Data Foundation (formerly OpenShift Container Storage), Spectrum, and Portworx. For additional details about storage support and configuration, see Storage considerations.

    Note: If you don't see any options in the Storage Class list, you need to create one or more storage options. See the Requirements section for more information.
  7. Set any other configuration values as appropriate.

  8. Click Create.

Your instance of the Cloud Pak is added to the list of instances in the current project (namespace).

Configuring in the YAML view

The YAML view opens an editor containing an example YAML file for a resource. Update the values in the file per the following steps.

  1. Change metadata.namespace to your project (namespace) name.

  2. Change spec.license.accept to true if you accept the Cloud Pak for Integration license agreement. For details, see Licensing.

  3. Change the value of spec.license.license to the license string that matches your version of Cloud Pak for Integration. See the section, Table of license versions in Licensing for more information.

  4. For spec.storage.class, specify a file storage class a file storage class that supports ReadWriteMany (RWX) volumes and allows read and write access to non-root users. Supported storage providers include ibmc-file-gold-gid, OpenShift Data Foundation (formerly OpenShift Container Storage), Spectrum, and Portworx. For additional details about storage support and configuration, see Storage considerations.

  5. Click Create.

Your instance of Cloud Pak for Integration is added to the list of instances in the current project (namespace).

Logging in to the Platform UI

When the Platform UI status changes to Ready, log in to the Platform UI for the first time to create users and permissions.

  1. In the navigation panel of the OpenShift web console, click Operators > Installed Operators.

  2. Click to expand the Project list and select the project where the Platform UI is deployed.

  3. In the Installed Operators pane, click IBM Cloud Pak for Integration.

  4. Click Platform UI.

  5. In the PlatformNavigators list, click the name of the deployed instance.

  6. In the Metadata section, click the link under Cloud Pak UI.

  7. At the login screen, click OpenShift authentication and log in with your OpenShift cluster admin credentials.

    If you are unable to log in with your OpenShift credentials, click IBM provided credentials (admin only) and:

    • For Username, enter admin.

    • For Password, enter the IBM admin password you obtain in the next section.

  8. The Platform UI opens. You can now create users and permissions by clicking Manage users. For detailed information, see Adding users in the IBM Cloud Pak Platform UI and the other topics in the Identity and access management section.
    Note: If you followed the steps in Getting the initial admin password, you need to create an OpenShift admin user and change the admin user password.
  9. After you have completed your tasks in the Platform UI, you can perform additional post-installation tasks such as configuring the foundational services and enabling monitoring. For additional information, see System administration.

Getting the initial admin password

If you are unable to log in to Platform UI with OpenShift cluster admin credentials (for example, if you are installing in a cluster using Red Hat OpenShift Service on AWS (ROSA), follow these steps:

  1. Log in to the OpenShift web console with your OpenShift cluster admin credentials. Make sure the Administrator perspective is selected.

    Administrator perspective is selected in Red Hat OpenShift web console
  2. In the navigation panel, click to expand Workloads, then select Secrets.

  3. Switch to the ibm-common-services project:

    • At the top of the Secrets pane, click the arrow to expand the Project list, and select ibm-common-services.

    • Enter platform-auth-idp-credentials in the search box (optional) and click platform-auth-idp-credentials in the list.

  4. Scroll down to the Data pane and copy the value for admin_password.

    Copy the admin password from the data pane

    Save the password to use when logging in to Platform UI.

Logging out of the Platform UI

To log out of Cloud Pak for Integration click the user menu icon in the top banner, and then click Log out:

Troubleshooting

A warning message about user onboarding is returned when you log into the Platform UI after installing Cloud Pak for Integration

For guidance on editing the YAML to resolve the issue, see Failure when onboarding users to Platform UI.

Deployment fails with the following error:

ImagePullBackOff
Warning Failed 2m32s (x3 over 3m12s) kubelet, ip-10-0-239-166.ec2.internal Failed to pull image
"cp.icr.io/cp/icp4i/icip-services:2021-03-17-0753-0ce35220@sha256:d693d94e3cac2142dfa8bc9fef877452ece21fb64d187fd2ac543c2736f60c32":
rpc error: code = Unknown desc = unable to retrieve auth token: invalid username/password:
unauthorized: The login credentials are not valid, or your IBM Cloud account is not active.

Solution: In Applying your entitlement key (online installation), follow the guidance under "Adding a pull secret to a namespace". Once you have done that, your installation resumes and completes successfully.

Reference

Custom resource values

The following table lists the configurable parameters and default values for the custom resource.

Parameter Description Default
apiVersion The API version that identifies which schema is used for this Platform UI
kind Resource type PlatformNavigator
metadata.name Unique short name by which the Platform UI can be identified integration-quickstart
metadata.namespace Namespace (project) in which the integration server is installed
spec.license.accept An indication of whether the license should be accepted. Valid values are true and false. To install, this value must be set to true. false
spec.mqDashboard Whether the MQ Grafana dashboard will be deployed as part of this Platform UI release. true
spec.replicas Number of replica pods to run for each deployment 1
spec.storage.class Name of selected storage class
spec.version The Platform UI product version. Specify with a channel or a fully qualified version. The latest version.
spec.nodeSelector Configures on which nodes the pods will run. Specify each nodeSelector as a key/value pair in the format nodeSelectorKey: nodeSelectorValue.
spec.labels Specify one or more custom labels (as classification metadata) to apply to each pod that is created during deployment. Specify each label as a key/value pair in the format labelKey: labelValue. The custom labels that you specify will be merged with the default (generated) labels. If duplicate label keys are detected, the custom value overwrites the default value.
spec.annotations Specify one or more custom annotations (as arbitrary metadata) to apply to each pod that is created during deployment. Specify each annotation as a key/value pair in the format annotationKey: annotationValue. The custom annotations that you specify will be merged with the default (generated) annotations. If duplicate annotation keys are detected, the custom value overwrites the default value.
spec.resources This section defines all the the minimum and upper limits of resources allocated for running the container. For CPU values, specify integer, fractional (for example, 0.5), or millicore values (for example, 100m, equivalent to 0.1 core). For memory values, specify integers with one of these suffixes: E, P, T, G, M, K, or specify on eof these power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.
spec.template This section allows users to customize the kubernetes resources deployed by the operator. The configuration found within the block will be superimposed on the reconciled K8S resource the operator would have generated had the template block not existed, following the logic defined for a strategic merge patch in the kubernetes documentation.
spec.requestIbmServices Control the IBM Cloud Pak foundational services requested by the Platform UI using key/value pairs in the format where key is a string and value is a boolean. Valid keys are monitoring, licensing, and metering.
spec.loggingUrl Enables usage of custom logging stack. Must be a fully specified URL.

Examples

spec.nodeSelector:

Shows how to use the nodeSelector section in the Platform UI spec to configure the nodes where the deployment will run.

spec:
  nodeSelector:
    key1: value1
    key2: value2

spec.labels:

Shows how to use the labels section in the Platform UI spec to apply labels to the deployment.

spec:
  labels:
    key1: value1
    key2: value2

spec.annotations:

Shows how to use the annotations section in the Platform UI spec to apply annotations to the deployment.

spec:
  annotations:
    key1: value1
    key2: value2

spec.resources:

Shows how to use the resources section in the Platform UI spec to allocate resource requests and limits.

spec:
  resources:
    navigator:
      limits:
        cpu: '1'
        memory: 512Mi
      requests:
        cpu: '0.25'
        memory: 256Mi
    services:
      limits:
        cpu: '1'
        memory: 512Mi
      requests:
          cpu: '0.25'
          memory: 256Mi

spec.template:

Shows how to use the template section in the Platform UI spec to customize the containers.

spec:
  template:
    pod:
      containers:
        - image: placeholder
          imagePullPolicy: IfNotPresent
          name: ibm-cp4i-prod-navigator
        - image: placeholder
          imagePullPolicy: IfNotPresent
          name: ibm-cp4i-prod-services
      imagePullSecrets:
        - ibm-entitlement-key
        - other-key

spec.requestIbmServices:

Shows how to use the requestIbmServices section in the Platform UI spec to control the IBM Cloud Pak foundational services requested.

spec:
  requestIbmServices:
    monitoring: true/false
    metering: true/false
    licensing: true/false

spec.loggingUrl:

Shows how to use the loggingUrl section in the Platform UI spec to enable usage of a custom logging stack.

spec:
  loggingUrl: "https://host.apps.cluster.domain.com/kibana"