Apache web tier

This section provides information about how to install and configure the Apache web tier to load balance Oracle SOA Suite domain clusters. You can configure Apache web tier for non-SSL and SSL termination access of the application URL.

Follow these steps to set up the Apache web tier as a load balancer for an Oracle SOA Suite domain in a Kubernetes cluster:

  1. Build the Apache web tier image
  2. Create the Apache plugin configuration file
  3. Prepare the certificate and private key
  4. Install the Apache web tier Helm chart
  5. Verify domain application URL access
  6. Uninstall Apache web tier

Build the Apache web tier image

Refer to the sample, to build the Apache web tier Docker image.

Create the Apache plugin configuration file

  1. The configuration file named custom_mod_wl_apache.conf should have all the URL routing rules for the Oracle SOA Suite applications deployed in the domain that needs to be accessible externally. Update this file with values based on your environment. The file content is similar to below.

    Click here to see the sample content of the configuration file custom_mod_wl_apache.conf for soa domain
  2. Create a PV and PVC (pv-claim-name) that can be used to store the custom_mod_wl_apache.conf. Refer to the Sample for creating a PV or PVC.

Prepare the certificate and private key

  1. (For the SSL termination configuration only) Run the following commands to generate your own certificate and private key using openssl.

     $ cd ${WORKDIR}
     $ cd charts/apache-samples/custom-sample
     $ export VIRTUAL_HOST_NAME=WEBLOGIC_HOST
     $ export SSL_CERT_FILE=WEBLOGIC_HOST.crt
     $ export SSL_CERT_KEY_FILE=WEBLOGIC_HOST.key
     $ sh certgen.sh
    

    NOTE: Replace WEBLOGIC_HOST with the host name on which Apache web tier is to be installed.

    Click here to see the output of the certifcate generation
  2. Prepare input values for the Apache web tier Helm chart.

    Run the following commands to prepare the input value file for the Apache web tier Helm chart.

    $ base64 -i ${SSL_CERT_FILE} | tr -d '\n'
    $ base64 -i ${SSL_CERT_KEY_FILE} | tr -d '\n'
    $ touch input.yaml
    

    Update the input parameters file, charts/apache-samples/custom-sample/input.yaml.

    Click here to see the snapshot of the sample input.yaml file

Install the Apache web tier Helm chart

  1. Install the Apache web tier Helm chart to the domain namespace (for example soans) with the specified input parameters:

    $ cd ${WORKDIR}/charts
    $ helm install apache-webtier --values apache-samples/custom-sample/input.yaml --namespace soans apache-webtier --set image=oracle/apache:12.2.1.3
    
  2. Check the status of the Apache web tier:

     $ kubectl get all -n soans | grep apache
    

    Sample output of the status of the Apache web tier:

    pod/apache-webtier-apache-webtier-65f69dc6bc-zg5pj   1/1     Running     0          22h
    service/apache-webtier-apache-webtier   NodePort       10.108.29.98     <none>        80:30305/TCP,4433:30443/TCP   22h
    deployment.apps/apache-webtier-apache-webtier   1/1     1            1           22h
    replicaset.apps/apache-webtier-apache-webtier-65f69dc6bc   1         1         1       22h
    

Verify domain application URL access

After the Apache web tier load balancer is running, verify that the domain applications are accessible through the load balancer port 30305/30443. The application URLs for domain of type soa are:

Note: Port 30305 is the LOADBALANCER-Non-SSLPORT and port 30443 is LOADBALANCER-SSLPORT.

NONSSL configuration
 http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/weblogic/ready
 http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/console
 http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/em
 http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/soa-infra
 http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/soa/composer
 http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/integration/worklistapp
SSL configuration
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/weblogic/ready
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/console
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/em
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/soa-infra
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/soa/composer
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/integration/worklistapp

Uninstall Apache web tier

$ helm delete apache-webtier -n soans