Skip to content

Commit

Permalink
SOA 22.1.2 release deployment scripts and documentation (#96)
Browse files Browse the repository at this point in the history
  • Loading branch information
sbattagi authored Mar 1, 2022
1 parent b8ea7c9 commit 93ac657
Show file tree
Hide file tree
Showing 370 changed files with 97,602 additions and 99 deletions.
2 changes: 1 addition & 1 deletion OracleSOASuite/kubernetes/README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The WebLogic Kubernetes operator (the “operator”) supports deployment of Ora
* `soaosb`: Deploys a domain with SOA, Oracle Enterprise Scheduler (ESS), and Oracle Service Bus

***
The current supported production release is [21.4.2](https://github.com/oracle/fmw-kubernetes/releases).
The current supported production release is [22.1.2](https://github.com/oracle/fmw-kubernetes/releases).
***

In this release, Oracle SOA Suite domains are supported using the “domain on a persistent volume”
Expand Down
38 changes: 8 additions & 30 deletions OracleSOASuite/kubernetes/charts/ingress-per-domain/README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# An Ingress per domain chart
This chart is for deploying an Ingress resource in front of an Oracle SOA Suite domain cluster. We support three Ingress types: Traeafik, Voyager and Nginx.
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.

## Prerequisites
- Have Docker and a Kubernetes cluster running and have `kubectl` installed and configured.
- Have Helm installed.
- The corresponding Ingress controller, [Traefik](https://github.com/oracle/weblogic-kubernetes-operator/tree/main/kubernetes/samples/charts/traefik) or [Voyager](https://github.com/oracle/weblogic-kubernetes-operator/blob/main/kubernetes/samples/charts/voyager/README.md#a-step-by-step-guide-to-install-the-voyager-operator), is installed in the Kubernetes cluster.
- The corresponding Ingress controller, [Traefik](https://github.com/oracle/weblogic-kubernetes-operator/tree/main/kubernetes/samples/charts/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`.

Expand All @@ -15,7 +15,7 @@ This chart is for deploying an Ingress resource in front of an Oracle SOA Suite
```
## Installing the chart

To install the chart with the release name, `soa-traefik-ingress` or `soa-voyager-ingress` or `soa-nginx-ingress`, with the given `values.yaml`:
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
Expand All @@ -26,9 +26,6 @@ $ cd $WORKDIR
# Traefik:
$ helm install soa-traefik-ingress charts/ingress-per-domain --namespace soans --values charts/ingress-per-domain/values.yaml --set "traefik.hostname=$(hostname -f)"
# Voyager:
$ helm install soa-voyager-ingress charts/ingress-per-domain --namespace soans --values charts/ingress-per-domain/values.yaml
#NGINX
$ helm install soa-nginx-ingress charts/ingress-per-domain --namespace soans --values charts/ingress-per-domain/values.yaml --set "nginx.hostname=$(hostname -f)"
Expand All @@ -55,12 +52,11 @@ $ kubectl -n soans create secret tls domain1-tls-cert --key /tmp/tls1.key --cert
```

Sample `values.yaml` for the Traefik , Nginx and Voyager Ingress:
Sample `values.yaml` for the Traefik and Nginx Ingress:
```
# Load balancer type. Supported values are: TRAEFIK, VOYAGER
# For Type Voyager Uncomment type VOYAGER and Comment typeTRAEFIK
# Load balancer type. Supported values are: TRAEFIK
# For Type NGINX Uncomment type NGINX and Comment type TRAEFIK
type: TRAEFIK
#type: VOYAGER
#type: NGINX
# Type of Configuration Supported Values are : NONSSL,SSL and E2ESSL
Expand Down Expand Up @@ -93,30 +89,18 @@ hostName:
soa: soa.org
osb: osb.org
# Voyager specific values
voyager:
# web port
webPort: 30305
webSSLPort: 30443
# For Voyager E2E Access
adminSSLPort: 30445
soaSSLPort: 30447
osbSSLPort: 30449
# stats port
statsPort: 30319
```
## Uninstalling the chart
To uninstall and delete the `my-ingress` deployment:
```
$ helm delete --purge <soa-traefik-ingress or soa-voyager-ingress or soa-nginx-ingress >
$ helm delete --purge <soa-traefik-ingress or soa-nginx-ingress >
```
## Configuration
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 `VOYAGER` or `NGINX`. | `TRAEFIK` |
| `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` or`soaosb`. | `soa` |
| `hostName.admin` | Admin host name. | `admin.org` |
Expand All @@ -131,11 +115,5 @@ The following table lists the configurable parameters of this chart and their de
| `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` |
| `voyager.webPort` | Web port to access the Voyager load balancer. | `30305` |
| `voyager.webSSLPort` | SSL Web port to access the Voyager load balancer on SSL Termination. | `30443` |
| `voyager.adminSSLPort` | SSL Web port to access the Administration server for E2E. | `30445` |
| `voyager.soaSSLPort` | SSL Web port to access the Soa server for E2E . | `30447` |
| `voyager.osbSSLPort` | SSL Web port to access the Osb server E2E . | `30449` |
| `voyager.statsPort` | Port to access the Voyager/HAProxy stats page. | `30315` |

>**NOTE:** The input values `domainUID` and `clusterName` will be used to generate the Kubernetes `serviceName` of the WLS cluster with the format `domainUID-cluster-clusterName`.
6 changes: 4 additions & 2 deletions OracleSOASuite/kubernetes/create-rcu-schema/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The script assumes that either the image, `soasuite:12.2.1.4`, is available in t

```
$ ./create-rcu-schema.sh -h
usage: ./create-rcu-schema.sh -s <schemaPrefix> -t <schemaType> -d <dburl> -i <image> -u <imagePullPolicy> -p <docker-store> -n <namespace> -q <sysPassword> -r <schemaPassword> -o <rcuOutputDir> -c <customVariables> [-h]
usage: ./create-rcu-schema.sh -s <schemaPrefix> -t <schemaType> -d <dburl> -i <image> -u <imagePullPolicy> -p <docker-store> -n <namespace> -q <sysPassword> -r <schemaPassword> -o <rcuOutputDir> -c <customVariables> [-l] <timeoutLimit> [-h]
-s RCU Schema Prefix (required)
-t RCU Schema Type (optional)
(supported values: osb,soa,soaosb,soab2b,soaosbb2b)
Expand All @@ -44,7 +44,9 @@ usage: ./create-rcu-schema.sh -s <schemaPrefix> -t <schemaType> -d <dburl> -i <i
-o Output directory for the generated YAML file. (optional)
(default: rcuoutput)
-c Comma-separated variables in the format variablename=value. (optional).
(default: none)
(default: none)
-l Timeout limit in seconds. (optional).
(default: 300)
-h Help
$ ./create-rcu-schema.sh -s domain1
Expand Down
Empty file.
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
[package-manager-packages]
hostname

[after-fmw-install]
RUN if [ -f "${ORACLE_HOME}/soa/soa/thirdparty/edifecs/XEngine_8_4_1_23.tar.gz" ]; then \
cd $ORACLE_HOME/soa/soa/thirdparty/edifecs && \
tar -zxvf XEngine_8_4_1_23.tar.gz; \
else \
echo -e "\nXEngine_8_4_1_23.tar.gz not present in ${ORACLE_HOME}/soa/soa/thirdparty/edifecs directory. Skipping untar."; \
fi
# zip as few log files grow larger when patches are installed.
RUN if ls /u01/oracle/cfgtoollogs/opatch/*.log; then \
gzip /u01/oracle/cfgtoollogs/opatch/*.log; \
fi

[final-build-commands]

ENV ORACLE_HOME=/u01/oracle \
Expand All @@ -19,12 +31,6 @@ RUN chmod +xr $SCRIPT_FILE

USER oracle

RUN if [ -f "${ORACLE_HOME}/soa/soa/thirdparty/edifecs/XEngine_8_4_1_23.tar.gz" ]; then \
cd $ORACLE_HOME/soa/soa/thirdparty/edifecs && \
tar -zxvf XEngine_8_4_1_23.tar.gz; \
else \
echo -e "\nXEngine_8_4_1_23.tar.gz not present in ${ORACLE_HOME}/soa/soa/thirdparty/edifecs directory. Skipping untar."; \
fi
HEALTHCHECK --start-period=5m --interval=1m CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
WORKDIR ${ORACLE_HOME}
CMD ["/u01/oracle/container-scripts/createDomainAndStart.sh"]
Empty file.
3 changes: 2 additions & 1 deletion docs-source/content/soa-domains/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The operator has several key features to assist you with deploying and managing

#### Current production release

The current production release for the Oracle SOA Suite domains deployment on Kubernetes is [21.4.2](https://github.com/oracle/fmw-kubernetes/releases). This release uses the WebLogic Kubernetes Operator version [3.3.0](https://github.com/oracle/weblogic-kubernetes-operator/releases/tag/v3.3.0).
The current production release for the Oracle SOA Suite domains deployment on Kubernetes is [22.1.2](https://github.com/oracle/fmw-kubernetes/releases). This release uses the WebLogic Kubernetes Operator version [3.3.0](https://github.com/oracle/weblogic-kubernetes-operator/releases/tag/v3.3.0).


#### Recent changes and known issues
Expand Down Expand Up @@ -58,6 +58,7 @@ please consult this table of contents:

To view documentation for an earlier release, see:

* [Version 21.4.2](https://oracle.github.io/fmw-kubernetes/21.4.2/soa-domains/)
* [Version 21.3.2](https://oracle.github.io/fmw-kubernetes/21.3.2/soa-domains/)
* [Version 21.2.2](https://oracle.github.io/fmw-kubernetes/21.2.2/soa-domains/)
* [Version 21.1.2](https://oracle.github.io/fmw-kubernetes/21.1.2/soa-domains/)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,10 @@ Refer to the [sample](https://github.com/oracle/docker-images/tree/main/OracleWe

#### Install the Apache web tier Helm chart

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

```bash
$ cd ${WORKDIR}/charts
$ kubectl create namespace apache-webtier
$ helm install apache-webtier --values apache-samples/custom-sample/input.yaml --namespace soans apache-webtier --set image=oracle/apache:12.2.1.3
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ Follow these steps to set up NGINX as a load balancer for an Oracle SOA Suite do
1. 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}/charts/ingress-per-domain/values.yaml`. By default, `type` is `TRAEFIK` , `sslType` is `NONSSL`, and `domainType` is `soa`. These values can be overridden by passing values through the command line or can be edited in the sample file `values.yaml`.
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. Update the template YAML file for the NGINX load balancer located at `${WORKDIR}/charts/ingress-per-domain/templates/nginx-ingress.yaml`.

> Note: See [here](https://github.com/oracle/fmw-kubernetes/blob/v21.4.2/OracleSOASuite/kubernetes/ingress-per-domain/README.md#configuration) for all the configuration parameters.
> Note: See [here](https://github.com/oracle/fmw-kubernetes/blob/v22.1.2/OracleSOASuite/kubernetes/ingress-per-domain/README.md#configuration) for all the configuration parameters.

```bash
$ cd ${WORKDIR}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ Sample values for default configuration are shown in the file `${WORKDIR}/charts
By default, `type` is `TRAEFIK`, `sslType` is `NONSSL`, and `domainType` is `soa`. 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 (NONSSL, SSL, and E2ESSL).
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}/charts/ingress-per-domain/templates/traefik-ingress.yaml`.

> Note: See [here](https://github.com/oracle/fmw-kubernetes/blob/v21.4.2/OracleSOASuite/kubernetes/ingress-per-domain/README.md#configuration) for all the configuration parameters.
> Note: See [here](https://github.com/oracle/fmw-kubernetes/blob/v22.1.2/OracleSOASuite/kubernetes/ingress-per-domain/README.md#configuration) for all the configuration parameters.

1. Install `ingress-per-domain` using Helm for `NONSSL` configuration:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@ After the Oracle SOA Suite domain is set up, you can:
### Monitor the Oracle SOA Suite instance using Prometheus and Grafana
Using the `WebLogic Monitoring Exporter` you can scrape runtime information from a running Oracle SOA Suite instance and monitor them using Prometheus and Grafana.

**Prerequisite**: Before setting up monitoring, make sure that Prometheus and Grafana are deployed on the Kubernetes cluster.
#### Set up monitoring
Follow these [steps](https://github.com/oracle/fmw-kubernetes/blob/v22.1.2/OracleSOASuite/kubernetes/monitoring-service/README.md) to set up monitoring for an Oracle SOA Suite instance. For more details on WebLogic Monitoring Exporter, see [here](https://github.com/oracle/weblogic-monitoring-exporter).

#### Deploy Prometheus and Grafana

>NOTE: Follow the steps in this section, if you intend to manually set up the monitoring for an Oracle SOA Suite instance. Otherwise, you can skip it.
Refer to the compatibility matrix of [Kube Prometheus](https://github.com/coreos/kube-prometheus#kubernetes-compatibility-matrix) and clone the [release](https://github.com/coreos/kube-prometheus/releases) version of the `kube-prometheus` repository according to the Kubernetes version of your cluster.

1. Clone the `kube-prometheus` repository:
Expand Down Expand Up @@ -58,9 +61,6 @@ Refer to the compatibility matrix of [Kube Prometheus](https://github.com/coreos
* `32101` is the external port for Prometheus
* `32102` is the external port for Alertmanager
#### Set up monitoring
Follow these [steps](https://github.com/oracle/fmw-kubernetes/blob/v21.4.2/OracleSOASuite/kubernetes/monitoring-service/README.md) to set up monitoring for an Oracle SOA Suite instance. For more details on WebLogic Monitoring Exporter, see [here](https://github.com/oracle/weblogic-monitoring-exporter).
### Publish WebLogic Server logs into Elasticsearch
You can publish the WebLogic Server logs to Elasticsearch using the `WebLogic Logging exporter` and interact with them in Kibana.
Expand Down
Loading

0 comments on commit 93ac657

Please sign in to comment.