Preparing to install IBM Business Automation Configuration Container

Before you install the configuration container, you need to check your environment to make sure that you have everything that you need.

Procedure

  1. If IBM® Cloud Private 3.1 is not installed, then install it. For more information, see Installing IBM Cloud Private.
    Important: Make sure that the installed docker version is 17.12.1 to 18.03.1 or later to avoid a known limitation on version 17.12.0.
  2. Optional: Install the IBM Cloud Private command line tool (CLI) on a client computer. For more information, see Installing the IBM Cloud Private CLI.
  3. Optional: Install the kubectl command line interface (CLI) on a client computer, so that you can target any Kubernetes cluster. For more information, see kubectl.
  4. Log in to your IBM Cloud Private cluster. Configure authentication from your computer to the Docker private registry host and log in to the private registry. If you are not a root user, ensure that your account is part of the Docker group. Add the certificate to the client system so that docker can connect to this registry.
  5. Optional: If you intend to use Helm directly, then install the command line interface (CLI). Make sure that the CLI is the same version as tiller that IBM Cloud Private is running. For more information, see Setting up the Helm CLI.
  6. Log in to your IBM Cloud Private cluster from the command line.
    cloudctl login -a https://cluster_CA_domain:8443 --skip-ssl-validation
    docker login cluster_CA_domain:8500

    Where cluster_CA_domain is the certificate authority (CA) domain name. If you did not specify a CA domain, the default value is mycluster.icp. The skip-ssl-validation parameter disables the SSL validation process. SSL validation is disabled in the example to do without a trusted certificate in development environments. The self-signed SSL certificate causes an error when using the cloudctl CLI.

    If you want to load the archive into a specified namespace, you need to run the command with the -n parameter. The following example specifies the name of the namespace to load the archive as my-icp-space.

    cloudctl login -a https://cluster_CA_domain:8443 --skip-ssl-validation 
    -u admin -p admin -c id-mycluster-account -n my-icp-space
  7. A storage administrator must prepare persistent volume (PV) and a persistent volume claim (PVC) for the configuration container. Make sure the top-level directory and all of its subdirectories are owned by the user that installs the Helm release.
    1. Prepare a persistent volume for Business Automation Configuration Container, and check that the read/write access to this directory is at least rw-r--r--. An example on NFS might use the following storage path.
      <IP_storage_mount_server>:/export/NFS/ibacc-cfg-pvc/
    2. For the PVC folder, set the user and group ownership to allow the configuration container to store log files and drivers.

       New in 18.0.1 

      chown –Rf 50001:50000 /pvc_directory 

       For 18.0.0 

      chown –Rf 501:500 /pvc_directory 

      Where pvc_directory is ibacc-cfg-pvc in the example of the previous step.

    3. Create a PV and PVC for the storage on IBM Cloud Private.

      The following example shows a YAML file to create a PV. For more information, see Creating a PersistentVolume.

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: ibacc-cfg-pv
      spec:
        accessModes:
        - ReadWriteMany
        capacity:
          storage: 1Gi
        nfs:
          path: /ibacc
          server: <NFS Server IP>
        persistentVolumeReclaimPolicy: Retain
        storageClassName: ibacc-cfg-pv

      Where <NFS Server IP> is the NFS Server IP Address.

      The following example shows a YAML file to create a PVC. For more information, see Creating a PersistentVolumeClaim.

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: ibacc-cfg-pvc
        annotations:
          volume.beta.kubernetes.io/storage-class: "ibacc-cfg-pv"
      spec:
        accessModes:
          - ReadWriteMany
        resources:
          requests:
            storage: 1Gi

      To create the objects, run the kubectl apply command line. By default, the default namespace is used.

      kubectl apply -f <file_name>.yaml

      Add the -n parameter to the command line to specify a dedicated namespace.

      kubectl apply -f <file_name>.yaml -n samplenamespace