This chart is for deploying an Ingress resource in front of an Oracle SOA Suite domain cluster. We support three Ingress types: Traeafik and Nginx.
- Have Docker and a Kubernetes cluster running and have
kubectl
installed and configured. - Have Helm installed.
- The corresponding Ingress controller, Traefik, is installed in the Kubernetes cluster.
- An Oracle SOA Suite domain cluster deployed by
weblogic-operator
is running in the Kubernetes cluster. - For Secured access (SSL) to the SOA applications enable
WebLogic plugin
.
$ helm install nginx-ingress -n soans stable/nginx-ingress
To install the chart with the release name, soa-traefik-ingress
or soa-nginx-ingress
, with the given values.yaml
:
# Change directory to the cloned git Oracle SOA Suite Kubernetes deployment scripts repo.
$ cd $WORKDIR
# Use helm to install the chart. Use `--namespace` to specify the name of the Soa domain's namespace.
# Using Helm 3.x:
# Traefik:
$ helm install soa-traefik-ingress charts/ingress-per-domain --namespace soans --values charts/ingress-per-domain/values.yaml --set "traefik.hostname=$(hostname -f)"
#NGINX
$ helm install soa-nginx-ingress charts/ingress-per-domain --namespace soans --values charts/ingress-per-domain/values.yaml --set "nginx.hostname=$(hostname -f)"
NOTE: Ingress per domain installing using helm command uses the values from values.yml
available at charts/ingress-per-domain/values.yaml
. This values.yaml contains the default values
The inputs provided in the helm install command will overwrite these default values.
In the value.yaml the default values are: type: "TRAEFIK" , sslType: "NONSSL" and domainType: "soa".
If you want to use other than these default values then,
1. Either modify the value.yaml file with the required values or
2. Pass the required values through the helm command line.For Example : For installing Nginx ingress with SSL Configuration pass "type=NGINX" and "sslType=SSL" on command line.
$ helm install soa-nginx-ingress charts/ingress-per-domain --namespace soans --values charts/ingress-per-domain/values.yaml --set "nginx.hostname=$(hostname -f)" --set type=NGINX --set sslType=SSL
The Ingress resource will be created in the same namespace as the SOA domain cluster.
Command to Generate Secret:
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls1.key -out /tmp/tls1.crt -subj "/CN=*"
$ kubectl -n soans create secret tls soainfra-tls-cert --key /tmp/tls1.key --cert /tmp/tls1.crt
Sample values.yaml
for the Traefik and Nginx Ingress:
# Load balancer type. Supported values are: TRAEFIK
# For Type NGINX Uncomment type NGINX and Comment type TRAEFIK
type: TRAEFIK
#type: NGINX
# Type of Configuration Supported Values are : NONSSL,SSL and E2ESSL
sslType: NONSSL
#sslType: SSL
#sslType: E2ESSL
# domainType Supported values are soa,osb and soaosb
# Uncomment only one domainType below and comment others based on the domain type of SOA Suite domain. Default domainType is 'soa'.
domainType: soa
#domainType: osb
#domainType: soaosb
# WLS domain as backend to the load balancer
wlsDomain:
domainUID: soainfra
adminServerName: AdminServer
adminServerPort: 7001
adminServerSSLPort: 7002
soaClusterName: soa_cluster
soaManagedServerPort: 8001
soaManagedServerSSLPort: 8002
osbClusterName: osb_cluster
osbManagedServerPort: 9001
osbManagedServerSSLPort: 9002
# Host Specific Values
hostName:
admin: admin.org
soa: soa.org
osb: osb.org
To uninstall and delete the my-ingress
deployment:
$ helm delete --purge <soa-traefik-ingress or soa-nginx-ingress >
The following table lists the configurable parameters of this chart and their default values.
Parameter | Description | Default |
---|---|---|
type |
Type of Ingress controller. Legal values are TRAEFIK or NGINX . |
TRAEFIK |
sslType |
Type of Configuration. values are NONSSL , SSL and E2ESSL . |
NONSSL |
domainType |
Type of SOA Domain. values are soa or osb orsoaosb . |
soa |
hostName.admin |
Admin host name. | admin.org |
hostName.soa |
Soa host name. | soa.org |
hostName.osb |
Osb host name. | osb.org |
wlsDomain.domainUID |
DomainUID of the Soa domain. | soainfra |
wlsDomain.soaClusterName |
Cluster name in the SOA domain. | soa_cluster |
wlsDomain.osbClusterName |
Cluster name in the OSB domain. | osb_cluster |
wlsDomain.adminServerPort |
Port number of the Admin servers in the Soa domain cluster . | 7001 |
wlsDomain.adminServerSSLPort |
Port number of the Admin servers in the Soa domain cluster . | 7002 |
wlsDomain.soaManagedServerPort |
Port number of the managed servers in the Soa domain cluster. | 8001 |
wlsDomain.soaManagedServerSSLPort |
SSL Port number of the managed servers in the Soa domain cluster. | 8002 |
wlsDomain.osbManagedServerPort |
Port number of the managed servers in the Soa domain cluster. | 9001 |
wlsDomain.osbManagedServerSSLPort |
Port number of the managed servers in the Soa domain cluster. | 9002 |
NOTE: The input values
domainUID
andclusterName
will be used to generate the KubernetesserviceName
of the WLS cluster with the formatdomainUID-cluster-clusterName
.