Deploying an assembly by using the CLI

An assembly is an instance type that you can use to deploy multiple instances of other IBM Cloud Pak® for Integration instances and components from the same YAML file. Assemblies simplify instance creation and management, in part by supplying default configurations for complex elements like certificates and high availability.

You can author and deploy assemblies by using the canvas in the Platform UI. For more information, see Using the assembly canvas.

Before you begin

Procedure

  1. Log into your OpenShift cluster with your OpenShift user credentials:

    oc login
  2. If you installed the operators in All namespaces on the cluster mode, use a project other than openshift-operators in which to deploy the instance.

    Create a new project:

    oc new-project <project_name>

    For example:

    oc new-project integration
  3. Create an IntegrationAssembly YAML file. As an example, you could create a file called assembly.yaml with the following example configuration. Update the values as indicated:

    • For metadata.namespace, enter your project (namespace) name.

    • Change the value of spec.license.accept to true if you accept the Cloud Pak for Integration license agreement. For more information, see Licensing.

    • For spec.storage.readWriteOnce.class, specify a storage class that supports ReadWriteOnce (RWO) volumes. To get a list of available storage classes, run:

      oc get storageclasses

      This command returns a list of available storage classes. For details about storage support and configuration, see Storage considerations.

    • Set any other configuration values as appropriate. The assembly supplies default configurations for each managed instance. You can customize your configuration with any part of the full specification supported by that managed instance.
      Important: Once an instance is deployed through an assembly, the instance has to be managed through this assembly. Therefore, editing the Kubernetes resource of the specific instance is not permitted.

    Example configuration file:

    apiVersion: integration.ibm.com/v1beta1
    kind: IntegrationAssembly
    metadata:
      name: example
      namespace: integration
    spec:
      version: 16.1.0
      license:
        accept: true
        license: L-JTPV-KYG8TF
        use: CloudPakForIntegrationNonProduction
      storage:
        readWriteOnce:
          class: <storage-class>
      managedInstances:
        list:
        - kind: QueueManager
          metadata:
            name: qm1
        - kind: EventStreams
          metadata:
            name: es1

    If you need advanced configuration options, see Configuring an assembly.

  4. Apply the yaml file to the cluster

    oc apply assembly.yaml
  5. Get the status of the assembly by running the following command in the project (namespace) where it was deployed:

    oc get integrationassembly
Important: Managed instances (instances created with an assembly) can be edited or deleted only in the assembly Kubernetes resource.