4.2.10 Installing License Service Reporter without Operator Lifecycle Manager (OLM)

Learn how to install License Service Reporter without the Operator Lifecycle Manager (OLM).

4.2.10 Installing License Service Reporter without OLM on Amazon Elastic Kubernetes Service (EKS) is supported from version 4.2.10.

Complete the following procedure to install License Service on a system that does not have the Operator Lifecycle Manager (OLM) deployed.

Prerequisites

Complete the installation on a host that meets the following criteria:

See Supported platforms and hardware requirements before you install License Service Reporter to check the installation requirements.

Installation

Complete the following steps to create the required resources.

  1. Export the following variable:

    export LSR_NAMESPACE=ibm-ls-reporter
    

    Note: The ibm-ls-reporter namespace is the default deployment namespace for License Service Reporter. However, you can install License Service Reporter in a custom namespace by replacing ibm-ls-reporter with your custom namespace in the command.

  2. Download the install-license-service-reporter-no-olm.yaml script from the ibm-licensing-operator GitHub repository.

  3. Apply the install-license-service-reporter-no-olm.yaml file on the cluster by running the following command:

    envsubst < install-license-service-reporter-no-olm.yaml | kubectl apply -f -
    
  4. Verify if the License Service Reporter pod is successfully created with the following command:

    kubectl -n ${LSR_NAMESPACE} get pods
    

    An example of the response:

    NAME                                                            READY   STATUS    RESTARTS   AGE
    ibm-license-service-reporter-operator-6bc65f99f9-dmrmk          1/1     Running   0          4m50s
    
  5. Create the License Service Reporter instance.

    1. Create the license-reporter.yaml file with the following definition:

      apiVersion: operator.ibm.com/v1alpha1
      kind: IBMLicenseServiceReporter
      metadata:
        name: ibm-lsr-instance
        namespace: ${LSR_NAMESPACE}
        labels:
          app.kubernetes.io/created-by: ibm-license-service-reporter-operator
          app.kubernetes.io/instance: ibmlicenseservicereporter-instance
          app.kubernetes.io/name: ibmlicenseservicereporter
          app.kubernetes.io/part-of: ibm-license-service-reporter-operator
      spec:
        license:
          accept: true
        authentication:
          useradmin:
            enabled: true
      

      Note: License Service Reporter uses the default storage class. To use a different storage class, add and define the 'storageClass' parameter in the spec section of the license-reporter.yaml. For example:

      spec:
        storageClass: storage-class-internal
      
    2. Run the following command to apply the license-reporter.yaml on the cluster:

      envsubst < license-reporter.yaml | kubectl apply -f -
      
  6. Configure Ingress.

    This step is required only if you installed License Service Reporter on Kubernetes, for example, Amazon Elastic Kubernetes Service (EKS).

    After you complete the installation, configure Ingress before you proceed to verification. For detailed instructions, see Configuring Kubernetes Ingress.

    If you installed License Service on OpenShift Container Platform, you do not need to configure Ingress. Proceed to verification.

Verification

  1. Verify whether the License Service Reporter UI and the License Service Reporter API Ingresses are available under the endpoints that are specified in the Ingress configuration.

    Run the following command to check whether the Ingresses are properly configured:

    kubectl get ingress -n ${LSR_NAMESPACE} -o yaml
    

    In the response, you get information about Ingresses that you configured for License Service Reporter. Look at the spec.rules.host section to check the configuration. You should see two spec.rules.host sections, one for each Ingress that you configured.

  2. Run the following command to check whether the License Service Reporter pods are running:

    kubectl -n ${LSR_NAMESPACE} get pods
    

    An example of the response:

    NAME                                                            READY   STATUS    RESTARTS   AGE
    ibm-license-service-reporter-operator-6bc65f99f9-dmrmk          1/1     Running   0          4m50s
    ibm-license-service-reporter-instance-5544795988-jrxqx          1/1     Running   0          2m50s