11.2 Scaling Up OIG Instances

The number of Oracle Identity Governance (OIG) managed servers running, or SOA managed servers running, is dependent on the replicas parameter configured for the oim_cluster and soa_cluster respectively.

To start more OIG servers perform the following steps:
  1. Run the following command to edit the cluster:
    • For OIG managed servers:
      kubectl edit cluster <domainUID>-oim-cluster -n <domain_namespace>
      
      For example:
      kubectl edit cluster governancedomain-oim-cluster -n oigns
      
    • For SOA Managed servers:
      kubectl edit cluster <domainUID>-soa-cluster -n <domain_namespace>
      For example:
      kubectl edit cluster governancedomain-soa-cluster -n oigns

    Note:

    This opens an edit session for the cluster, where parameters can be changed using standard vi commands.
  2. In the edit session, search for spec:, and then look for the replicas parameter under clusterName: <cluster>.
    By default the replicas parameter, for both OIG managed servers and SOA managed servers, is set to “1” hence one OIG managed server and one SOA managed server is started (oim_server1 and soa-server1 respectively):
    • For oim_cluster:
      spec:
        clusterName: oim_cluster
        replicas: 1
        serverPod:
          env:
          - name: USER_MEM_ARGS
            value: -Djava.security.egd=file:/dev/./urandom -Xms8192m -Xmx8192m
      ...
    • For soa_cluster:
      spec:
        clusterName: soa_cluster
        replicas: 1
        serverPod:
          env:
          - name: USER_MEM_ARGS
            value: '-Xms8192m -Xmx8192m '
      ...
  3. To start more OIG managed servers or SOA managed servers, increase the replicas value as desired.
    In the example below, two more OIG managed servers (oim-server2 and oim-server3) will be started by setting replicas to “3” for the oim_cluster:
    spec:
      clusterName: oim_cluster
      replicas: 3
      serverPod:
        env:
        - name: USER_MEM_ARGS
          value: -Djava.security.egd=file:/dev/./urandom -Xms8192m -Xmx8192m
    ...
    
  4. Save the file and exit (:wq!).
    The output will look similar to the following:
    cluster.weblogic.oracle/governancedomain-oim-cluster edited
    
  5. Run the following command to view the pods:
    kubectl get pods -n <domain_namespace>
    For example:
    kubectl get pods -n oigns
    The output will look similar to the following:
    NAME                                                        READY   STATUS      RESTARTS   AGE
    governancedomain-adminserver                                1/1     Running     0          23h
    governancedomain-oim-server1                                1/1     Running     0          23h
    governancedomain-oim-server2                                0/1     Running     0          7s
    governancedomain-oim-server3                                0/1     Running     0          7s
    governancedomain-soa-server1                                1/1     Running     0          23h
    
    Two new pods (governancedomain-oim-server2 and governancedomain-oim-server3) are started, but currently have a READY status of 0/1. This means oim_server2 and oim_server3 are not currently running but are in the process of starting.
    The servers will take several minutes to start so keep executing the command until READY shows 1/1:

    Note:

    Alternatively, you can run kubectl get pods -n oigns -w to watch updates to the status of the pods.
    NAME                                                        READY   STATUS      RESTARTS   AGE 
    governancedomain-adminserver                                1/1     Running     0          23h
    governancedomain-oim-server1                                1/1     Running     0          23h
    governancedomain-oim-server2                                1/1     Running     0          5m27s
    governancedomain-oim-server3                                1/1     Running     0          5m27s
    governancedomain-soa-server1                                1/1     Running     0          23h
    
    To check what is happening during server startup when READY is 0/1, run the following command to view the log of the pod that is starting:
    kubectl logs <pod> -n <domain_namespace>
    For example:
    kubectl logs governancedomain-oim-server2 -n oigns