Platform Navigator deployment
The Platform Navigator is a user interface for the IBM Cloud Pak® for Integration that allows the user to deploy and manage instances of the integration capabilities from a central location. Within the Platform Navigator, you can directly access Dashboard tools such as Logging and Monitoring, and you can also upgrade, edit, or delete existing deployments.
This page includes procedures for deployment, configuration, and basic usage of the Platform Navigator. If you need to upgrade, see Upgrading Platform Navigator (Component deployment interface).
The Cloud Pak for Integration can be deployed using the Red Hat OpenShift console, or the Red Hat OpenShift CLI.
Prerequisites
These tasks must be performed by an Integration Specialist (or Cluster Administrator) before you deploy the Platform Navigator:
- Install the OpenShift CLI tool. This is required for troubleshooting and useful for other tasks. For more information, see Getting started with the CLI in the Red Hat OpenShift documentation.
- Create a project for this instance, if it does not already exist.
- Create one or more storage classes.
- Select a storage provider that supports ReadWriteMany (RWX) and allows read and write access to non-root users. Supported storage providers include ibmc-file-gold-gid, OpenShift Container Storage, Spectrum, and Portworx. For additional details about storage support and configuration, see Storage.
- If you intend to run software from the IBM Entitled Registry, create a pull secret in the namespace containing an entitlement key, if it does not exist already. See See Applying your entitlement key.
You may install the Platform Navigator operator for all projects, or in only the project where you need to deploy the Platform Navigator. See Installing operators for more information.
Deploying the Platform Navigator with the OpenShift console
- Open the OpenShift web console.
- In the navigation panel, click Operators > Installed Operators.
- Click IBM Cloud Pak for Integration Platform Navigator.
- Click Platform Navigator.
- Click Create PlatformNavigator. Make sure the Form view is selected. You will use the form to configure Platform Navigator.
- In the form, change Project to your project name.
- Accept the Cloud Pak for Integration license agreement. Click the expand icon for License. Then:
- Click Create.
Your instance of Platform Navigator is added to the list of instances in the current project (namespace).
Deploying Platform Navigator with the OpenShift CLI
- Log into your cluster using
cloudctl login
oroc login
. - Create a PlatformNavigator YAML file.
For example, you could create a file called platformnavigator.yaml with the following configuration:
apiVersion: integration.ibm.com/v1beta1 kind: PlatformNavigator metadata: name: cp4i-navigator namespace: cp4i spec: license: accept: false license: L-RJON-BUVMQX mqDashboard: true replicas: 3 version: 2020.4.1
- Change
spec.license.accept
totrue
if you accept the Cloud Pak for Integration license agreement. - Change any other configuration details as required, for example, update
metadata.namespace
to your target namespace. - Apply the YAML file to the cluster using the
oc
command:oc apply -f platformnavigator.yaml
The Platform Navigator is created. Run the oc command to monitor its progress.
Getting the admin password
During the first installation of a Cloud Pak for Integration capability or
runtime, an admin password is generated and stored in the ibm-common-services
namespace. The admin password allows you to log in and access Cloud Pak for Integration.
You can use the OpenShift Console or CLI to obtain the admin password.
Getting the admin password with the OpenShift Console
To get the admin password in the OpenShift Console UI:
- Log into the OpenShift cluster as a Cluster Administrator..
- To switch to the
ibm-common-services
project, click the arrow to expand the Project list. - In the navigation menu, click Workloads to expand the
selections, then select Secrets. Open the
platform-auth-idp-credentials
secret. - At the bottom of the Details page, in the
Data section, click Reveal Values to get and copy the
value for
admin_password
. - Save the password to use when logging in to Platform Navigator.
Getting the admin password with the CLI
To get the admin password with the CLI:
-
Log into the OpenShift cluster as a Cluster Administrator..
-
Click the user icon in the UI and select Copy Login Command.
-
Use the command provided by OpenShift to log into the cluster from the command line.
-
Run the following command to extract the password from the secret:
oc extract secret/platform-auth-idp-credentials -n ibm-common-services --to=-
- Save the password to use when logging in to Platform Navigator.
Logging in to Platform Navigator
When the Platform Navigator status changes to Ready
, you can
access the Platform Navigator UI. You can do so using the OpenShift web console or the
OpenShift CLI.
Logging in using the OpenShift web console
- Open the OpenShift web console.
- In the navigation panel, click Operators > Installed Operators.
- In the Installed Operators pane, click IBM Cloud Pak for Integration Platform Navigator.
- Click Platform Navigator.
- Click the installed instance link from the list, then click the link under Platform Navigator UI.
- At the login screen, select Default authentication.
- For Username, enter
admin
. For Password, enter the IBM admin password you obtained in Getting the admin password. Click Log in.
Logging in using the OpenShift CLI
- Log into your cluster using
cloudctl login
, oroc login
. - List the routes in the
namespace
where the navigator is deployed:oc get routes --namespace=namespace
- Alternatively, find the
ui
endpoint on the Platform Navigator instance under thestatus
section:oc describe PlatformNavigator name --namespace=namespace
Logging out
Logging out is a two-step process:
- Log out of Cloud Pak Foundation: To fully log out of the Platform Navigator, select Common Services from the three-line menu at the top of the page, which opens the Cloud Pak Foundation UI. Next, from the User menu at the top-right of the page, click Logout.
- Log out of Cloud Pak for Integration: Click the first tab (where Platform Navigator is running), and from the User menu, select Logout.
Uninstalling
Uninstall your Platform Navigator by deleting your PlatformNavigator
custom
resource. This can be done in the RedHat OpenShift Console UI or
RedHat OpenShift CLI.
Deleting your PlatformNavigator CR using the OpenShift console
- To delete your PlatformNavigator CR using the OpenShift UI, navigate to Operators > Installed Operators in the OpenShift Console. Ensure you have selected the namespace that contains the Platform Navigator you are uninstalling.
- Click IBM Cloud Pak for Integration Platform Navigator.
- Click the Platform Navigator tab.
- Click the overflow menu to the right of the Platform Navigator table row you want to uninstall.
- Click Delete Platform Navigator.
- Click Delete in the confirmation dialog box.
Your Platform Navigator is now uninstalled.
Deleting your PlatformNavigator CR using the CLI
To delete your PlatformNavigator CR using the oc
CLI, run:
oc delete platformnavigator <instance-name> --namespace=<namespace>
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 Navigator | |
kind | The resource type |
PlatformNavigator
|
metadata.name | A unique short name by which the Platform Navigator can be identified |
integration-navigator
|
metadata.namespace | The namespace (project) in which the integration server is installed | |
spec.license.accept | An indication of whether the license should be accepted. Valid vales 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 Navigator release. |
true
|
spec.replicas | The number of replica pods to run for each deployment. |
2
|
spec.version | The Platform Navigator product version. Specify a channel or a fully qualified version. For more details about available values, see [versions-matrix]. | The latest available version of the Platform Navigator. |
spec.nodeSelector | Configures on which nodes the pods will run. Specify each nodeSelector as a
key/value pair in the format nodeSelectorKey: nodeSelectorValue . |
Empty |
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. |
Empty |
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. |
Empty |
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. | Empty. Operator handles the default resource values. |
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. | Empty |
spec.requestIbmServices | Control the IBM Cloud Pak foundational services requested by the Platform Navigator using key/value
pairs in the format where key is a string and value is a boolean. Valid keys are
monitoring , licensing , and metering . |
Empty. Operator handles the default values, setting monitoring on, and licensing and metering off. |
spec.loggingUrl | Enables usage of custom logging stack. Must be a fully specified URL. | Empty |
Examples
spec.nodeSelector:
Shows how to use the nodeSelector section in the Platform Navigator 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 Navigator 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 Navigator 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 Navigator 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 Navigator spec to customise 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
- artifactory-key
spec.requestIbmServices:
Shows how to use the requestIbmServices section in the Platform Navigator 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 Navigator spec to enable usage of a custom logging stack.
spec:
loggingUrl: "https://host.apps.cluster.domain.com/kibana"
Cluster-scoped permissions required
The Platform Navigator operator requires various cluster-scoped permissions as part of its functionality.
- List specific Consoles: Allows the Platform Navigator operator to identify the URL
derived from the host for the route that is created for the OpenShift Container Platform web console.
- API Groups: config.openshift.io
- Resources: consoles
- Verbs: list, get, watch
- List specific ClusterVersions: Allows the Platform Navigator operator to identify the OCP
version that the cluster is reconciling towards.
- API Groups: config.openshift.io
- Resources: clusterversions
- Verbs: list, get, watch
- Manage ValidatingWebhookConfigurations: The Platform Navigator operator uses validation
webhooks to provide immediate validation and feedback about the creation and modification of
Platform Navigation instances. The permission to manage webhooks is required for the operator to
register these actions.
- API Groups: admissionregistration.k8s.io
- Resources: validatingwebhookconfigurations
- Verbs: get, create, update
- Manage ConsoleYAMLSamples: ConsoleYAMLSamples are used to provide samples for the
Platform Navigator resources in the OpenShift Container Platform web console. The permission to
manage ConsoleYAMLSamples is required for the operator to register the setting up of samples.
- API Groups: console.openshift.io
- Resources: consoleyamlsamples
- Verbs: get, create, update
- List specific CustomResourceDefinitions: Required to allow the Platform Navigator
operator to give permissions to the Platform Navigator instances, in order to identify whether other
optional dependencies have been installed into the cluster.
- API Groups: apiextensions.k8s.io
- Resources: customerresourcedefinitions
- Verbs: get, list
- Manage ClusterRoles and ClusterRoleBindings: The Platform Navigator operator gives the
Platform Navigator instances permissions to list CustomResourceDefinitions, which are cluster-scoped
objects. These permissions must be created and managed as ClusterRoles. The permission to manage
ClusterRoleBindings allows the operator to identify the appropriate ClusterRole created.
- API Groups: rbac.authorization.k8s.io
- Resources: clusterroles, clusterrolebindings
- Verbs: create, list, get, watch, update, delete