This section provides information about how to install and configure the ingress-based Traefik load balancer (version 2.2.8 or later for production deployments) to load balance Oracle WebCenter Content domain clusters.
Follow these steps to set up Traefik as a load balancer for an Oracle WebCenter Content domain in a Kubernetes cluster:
Use Helm to install the Traefik (ingress-based) load balancer. For detailed information, see here.
Use the values.yaml
file in the sample but set kubernetes.namespaces
specifically.
$ cd ${WORKDIR}/weblogic-kubernetes-operator
$ kubectl create namespace traefik
$ helm repo add traefik https://containous.github.io/traefik-helm-chart
Sample output:
"traefik" has been added to your repositories
Install Traefik:
$ cd ${WORKDIR}/weblogic-kubernetes-operator
$ helm install traefik traefik/traefik \
--namespace traefik \
--values kubernetes/samples/scripts/charts/traefik/values.yaml \
--set "kubernetes.namespaces={traefik}" \
--set "service.type=LoadBalancer" --wait
A sample values.yaml
for deployment of Traefik 2.2.x:
Verify the Traefik (load balancer) services:
Please note the EXTERNAL-IP of the traefik-operator service. This is the public IP address of the load balancer that you will use to access the WebLogic Server Administration Console and WebCenter Content URLs.
$ kubectl get service -n traefik
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
traefik LoadBalancer 10.96.8.30 123.456.xx.xx 9000:30734/TCP,30305:30305/TCP,30443:30443/TCP 6d23h
To print only the Traefik EXTERNAL-IP, execute this command:
$ TRAEFIK_PUBLIC_IP=`kubectl describe svc traefik --namespace traefik | grep Ingress | awk '{print $3}'`
$ echo $TRAEFIK_PUBLIC_IP
123.456.xx.xx
Verify the helm charts:
$ helm list -n traefik
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
traefik traefik 2 2021-10-11 12:22:41.122310912 +0000 UTC deployed traefik-9.1.1 2.2.8
Verify the Traefik status and find the port number
$ kubectl get all -n traefik
Configure Traefik to manage ingresses created in this namespace, where traefik
is the Traefik namespace and wccns
is the namespace of the domain:
$ helm upgrade traefik traefik/traefik --namespace traefik --reuse-values \
--set "kubernetes.namespaces={traefik,wccns}"
Create an ingress for the domain in the domain namespace by using the sample Helm chart. Here path-based routing is used for ingress.
Sample values for default configuration are shown in the file ${WORKDIR}/weblogic-kubernetes-operator/kubernetes/samples/charts/ingress-per-domain/values.yaml
.
By default, type
is TRAEFIK
, tls
is Non-SSL
, and domainType
is wccinfra
. These values can be overridden by passing values through the command line or can be edited in the sample file values.yaml
based on the type of configuration (non-SSL or SSL).
If needed, you can update the ingress YAML file to define more path rules (in section spec.rules.host.http.paths
) based on the domain application URLs that need to be accessed. The template YAML file for the Traefik (ingress-based) load balancer is located at ${WORKDIR}/weblogic-kubernetes-operator/kubernetes/samples/charts/ingress-per-domain/templates/traefik-ingress.yaml
Install ingress-per-domain
using Helm for non-SSL configuration:
$ cd ${WORKDIR}/weblogic-kubernetes-operator
$ helm install wcc-traefik-ingress \
kubernetes/samples/charts/ingress-per-domain \
--set type=TRAEFIK \
--namespace wccns \
--values kubernetes/samples/charts/ingress-per-domain/values.yaml \
--set tls=NONSSL
Sample output:
NAME: wcc-traefik-ingress
LAST DEPLOYED: Sun Jan 17 23:49:09 2021
NAMESPACE: wccns
STATUS: deployed
REVISION: 1
TEST SUITE: None
After setting up the Traefik (ingress-based) load balancer, verify that the domain application URLs are accessible through the load balancer port 30305
for HTTP access. The sample URLs for Oracle WebCenter Content domain of type wcc
are:
http://${TRAEFIK_PUBLIC_IP}:30305/weblogic/ready
http://${TRAEFIK_PUBLIC_IP}:30305/console
http://${TRAEFIK_PUBLIC_IP}:30305/cs
http://${TRAEFIK_PUBLIC_IP}:30305/ibr
Uninstall and delete the ingress deployment:
$ helm delete wcc-traefik-ingress -n wccns