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
- Creating the OperandRequest instance
- Verifying the installation
- Accessing the foundational services console
- Accessing Business Teams Service console
- 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.
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 :- Excluding the following community CatalogSources:
certified-operators,community-operators,redhat-marketplace,redhat-operators,ibm-cp-automation-foundation-catalog,operatorhubio-catalog. - CatalogSources in the operator namespace (private CatalogSource) have a higher priority than CatalogSources in other namespaces (global CatalogSource).
- CatalogSources with higher
.spec.priorityvalues are picked up first. - 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.
- 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.
-
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.
- If you do not specify a namespace, ODLM looks for
OperandRegistry and OperandConfig in the same namespace where you create the OperandRequest, that
is,
-
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.
-
On the Create OperandRequest page, select YAML View.
-
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-serviceNote: 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 thenamespace:parameter value to the namespace from where you are creating the OperandRequest. Add theregistryNamespace: <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> -
In the
spec.requests.operandssection, 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. -
(Optional) Add bindings to access a service. This step is optional. For more information, see Accessing the services.
-
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
-
From the navigation pane, click Home > Overview. The cluster status is displayed.
-
Click Operators on the status card. The operator statuses are displayed.
-
Click View all. All the operators that are installed in the cluster are displayed.
-
Check the status of the foundational services operators. All operators must be in the
Succeededstatus.Note: If your operator does not show theSucceededstatus, 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.
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.
- Ensure that you are in the
foundational-servicesnamespace. - Select the Operators > Installed Operators > Operand Deployment Lifecycle Manager > OperandRequest tab.
- Edit the OperandRequest instance. You can enable a service by
adding it into the
spec.requests.operandslist, or disable a service by removing it from thespec.requests.operandslist. - Update the YAML file with your changes and click Save.