Skip to content

Commit 2664842

Browse files
authored
SOA 21.2.2 release deployment scripts and documentation (#54)
SOA 21.2.2 scripts and documentation
1 parent 83c117a commit 2664842

File tree

594 files changed

+223420
-2055
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

594 files changed

+223420
-2055
lines changed

OracleSOASuite/kubernetes/README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
### Oracle SOA Suite on Kubernetes
22

3-
The Oracle WebLogic Server Kubernetes Operator (the “operator”) supports deployment of Oracle SOA Suite components such as Oracle Service-Oriented Architecture (SOA), Oracle Service Bus (OSB), and Oracle Enterprise Scheduler (ESS). Currently the operator supports these domain types:
3+
The WebLogic Kubernetes operator (the “operator”) supports deployment of Oracle SOA Suite components such as Oracle Service-Oriented Architecture (SOA), Oracle Service Bus, and Oracle Enterprise Scheduler (ESS). Currently the operator supports these domain types:
44

5-
* `soa`: Deploys a SOA domain
6-
* `osb`: Deploys an OSB domain
7-
* `soaess`: Deploys a SOA domain with ESS
8-
* `soaosb`: Deploys a domain with SOA and OSB
9-
* `soaessosb`: Deploys a domain with SOA, OSB, and ESS
5+
* `soa`: Deploys a SOA domain with Oracle Enterprise Scheduler (ESS)
6+
* `osb`: Deploys an Oracle Service Bus domain
7+
* `soaosb`: Deploys a domain with SOA, Oracle Enterprise Scheduler (ESS), and Oracle Service Bus
108

119
***
12-
The current supported production release is [21.1.2](https://github.com/oracle/fmw-kubernetes/releases).
10+
The current supported production release is [21.2.2](https://github.com/oracle/fmw-kubernetes/releases).
1311
***
1412

1513
In this release, Oracle SOA Suite domains are supported using the “domain on a persistent volume”
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Apache load balancer samples
2+
3+
The sample package contains two samples that use the [Apache Helm chart](../apache-webtier/README.md). The samples use the Docker image for the Apache HTTP Server with the 12.2.1.3.0 and 12.2.1.4.0 Oracle WebLogic Server Proxy Plugin. See the details in [Apache HTTP Server with Oracle WebLogic Server Proxy Plugin on Docker](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-webtier-apache).
4+
5+
* [The default sample](default-sample/README.md) uses the built-in configuration in the Docker image.
6+
7+
* [The custom sample](custom-sample/README.md) demonstrates how to customize the configuration of the Apache HTTP Server with the 12.2.1.3.0 and 12.2.1.4.0 Oracle WebLogic Server Proxy Plugins.
8+
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# Apache load balancer custom sample
2+
In this sample, we will configure the Apache webtier as a load balancer for multiple WebLogic domains using a custom configuration. We will demonstrate how to use the Apache webtier to handle traffic to multiple backend WebLogic domains.
3+
4+
## 1. Create a namespace
5+
In this sample, both the Apache webtier and WebLogic domain instances are located in the namespace `apache-sample`.
6+
```shell
7+
$ kubectl create namespace apache-sample
8+
```
9+
10+
## 2. Create WebLogic domains
11+
We need to prepare some backend domains for load balancing by the Apache webtier. Refer to the [sample](/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/README.md), to create two WebLogic domains under the namespace `apache-sample`.
12+
13+
The first domain uses the following custom configuration parameters:
14+
- namespace: `apache-sample`
15+
- domainUID: `domain1`
16+
- clusterName: `cluster-1`
17+
- adminServerName: `admin-server`
18+
- adminPort: `7001`
19+
- adminNodePort: `30701`
20+
- managedServerPort: `8001`
21+
22+
The second domain uses the following custom configuration parameters:
23+
- namespace: `apache-sample`
24+
- domainUID: `domain2`
25+
- clusterName: `cluster-1`
26+
- adminServerName: `admin-server`
27+
- adminPort: `7011`
28+
- adminNodePort: `30702`
29+
- managedServerPort: `8021`
30+
31+
After the domains are successfully created, deploy the sample web application, `testwebapp.war`, on each domain cluster using the WLS Administration Console. The sample web application is located in the `kubernetes/samples/charts/application` directory.
32+
33+
## 3. Build the Apache webtier Docker image
34+
Refer to the [sample](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-webtier-apache), to build the Apache webtier Docker image.
35+
36+
## 4. Provide the custom Apache plugin configuration
37+
In this sample, we will provide a custom Apache plugin configuration to fine tune the behavior of Apache.
38+
39+
* Create a custom Apache plugin configuration file named `custom_mod_wl_apache.conf`. The file content is similar to below.
40+
41+
```
42+
# Copyright (c) 2018, 2021, Oracle and/or its affiliates.
43+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
44+
45+
<IfModule mod_weblogic.c>
46+
WebLogicHost ${WEBLOGIC_HOST}
47+
WebLogicPort ${WEBLOGIC_PORT}
48+
</IfModule>
49+
50+
# Directive for weblogic admin Console deployed on Weblogic Admin Server
51+
<Location /console>
52+
SetHandler weblogic-handler
53+
WebLogicHost domain1-admin-server
54+
WebLogicPort ${WEBLOGIC_PORT}
55+
</Location>
56+
57+
# Directive for all application deployed on weblogic cluster with a prepath defined by LOCATION variable
58+
# For example, if the LOCAITON is set to '/weblogic', all applications deployed on the cluster can be accessed via
59+
# http://myhost:myport/weblogic/application_end_url
60+
# where 'myhost' is the IP of the machine that runs the Apache web tier, and
61+
# 'myport' is the port that the Apache web tier is publicly exposed to.
62+
# Note that LOCATION cannot be set to '/' unless this is the only Location module configured.
63+
<Location /weblogic1>
64+
WLSRequest On
65+
WebLogicCluster domain1-cluster-cluster-1:8001
66+
PathTrim /weblogic1
67+
</Location>
68+
69+
# Directive for all application deployed on weblogic cluster with a prepath defined by LOCATION2 variable
70+
# For example, if the LOCAITON2 is set to '/weblogic2', all applications deployed on the cluster can be accessed via
71+
# http://myhost:myport/weblogic2/application_end_url
72+
# where 'myhost' is the IP of the machine that runs the Apache web tier, and
73+
# 'myport' is the port that the Apache webt ier is publicly exposed to.
74+
<Location /weblogic2>
75+
WLSRequest On
76+
WebLogicCluster domain2-cluster-cluster-1:8021
77+
PathTrim /weblogic2
78+
</Location>
79+
```
80+
81+
* Create a PV / 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](/kubernetes/samples/scripts/create-weblogic-domain-pv-pvc/README.md).
82+
83+
## 5. Prepare your own certificate and private key
84+
In production, Oracle strongly recommends that you provide your own certificates. Run the following commands to generate your own certificate and private key using `openssl`.
85+
86+
```shell
87+
$ cd kubernetes/samples/charts/apache-samples/custom-sample
88+
$ export VIRTUAL_HOST_NAME=apache-sample-host
89+
$ export SSL_CERT_FILE=apache-sample.crt
90+
$ export SSL_CERT_KEY_FILE=apache-sample.key
91+
$ sh certgen.sh
92+
```
93+
94+
## 6. Prepare the input values for the Apache webtier Helm chart
95+
Run the following commands to prepare the input value file for the Apache webtier Helm chart.
96+
97+
```shell
98+
$ base64 -i ${SSL_CERT_FILE} | tr -d '\n'
99+
$ base64 -i ${SSL_CERT_KEY_FILE} | tr -d '\n'
100+
$ touch input.yaml
101+
```
102+
Edit the input parameters file, `input.yaml`. The file content is similar to below.
103+
104+
```yaml
105+
# Copyright (c) 2018, 2021, Oracle and/or its affiliates.
106+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
107+
108+
# Use this to provide your own Apache webtier configuration as needed; simply define this
109+
# Persistence Volume which contains your own custom_mod_wl_apache.conf file.
110+
persistentVolumeClaimName: <pv-claim-name>
111+
112+
# The VirtualHostName of the Apache HTTP server. It is used to enable custom SSL configuration.
113+
virtualHostName: apache-sample-host
114+
115+
# The customer supplied certificate to use for Apache webtier SSL configuration.
116+
# The value must be a string containing a base64 encoded certificate. Run following command to get it.
117+
# base64 -i ${SSL_CERT_FILE} | tr -d '\n'
118+
customCert: <cert_data>
119+
120+
# The customer supplied private key to use for Apache webtier SSL configuration.
121+
# The value must be a string containing a base64 encoded key. Run following command to get it.
122+
# base64 -i ${SSL_KEY_FILE} | tr -d '\n'
123+
customKey: <key_data>
124+
```
125+
126+
## 7. Install the Apache webtier Helm chart
127+
The Apache webtier Helm chart is located in the `kubernetes/samples/charts/apache-webtier` directory. Install the Apache webtier Helm chart to the `apache-sample` namespace with the specified input parameters:
128+
129+
```shell
130+
$ cd kubernetes/samples/charts
131+
$ helm install my-release --values apache-samples/custom-sample/input.yaml --namespace apache-sample apache-webtier
132+
```
133+
134+
## 8. Run the sample application
135+
Now you can send requests to different WebLogic domains with the unique entry point of Apache with different paths. Alternatively, you can access the URLs in a web browser.
136+
```shell
137+
$ curl --silent http://${HOSTNAME}:30305/weblogic1/testwebapp/
138+
$ curl --silent http://${HOSTNAME}:30305/weblogic2/testwebapp/
139+
```
140+
Also, you can use SSL URLs to send requests to different WebLogic domains. Access the SSL URL via the `curl` command or a web browser.
141+
```shell
142+
$ curl -k --silent https://${HOSTNAME}:30443/weblogic1/testwebapp/
143+
$ curl -k --silent https://${HOSTNAME}:30443/weblogic2/testwebapp/
144+
```
145+
146+
## 9. Uninstall the Apache webtier
147+
```shell
148+
$ helm uninstall my-release --namespace apache-sample
149+
```
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/sh
2+
# Copyright (c) 2018, 2021, Oracle and/or its affiliates.
3+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
4+
#
5+
# Since: June, 2018
6+
# Author: dongbo.xiao@oracle.com
7+
# Description: script to start Apache HTTP Server
8+
#
9+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
10+
11+
# Generated configuration file
12+
CONFIG_FILE="config.txt"
13+
14+
cat > $CONFIG_FILE <<-EOF
15+
[req]
16+
default_bits = 2048
17+
prompt = no
18+
default_md = sha256
19+
req_extensions=v3_req
20+
extensions=v3_req
21+
distinguished_name = dn
22+
23+
[dn]
24+
C = US
25+
ST = CA
26+
L = Redwood Shores
27+
O = Oracle Corporation
28+
OU = Apache HTTP Server With Plugin
29+
CN = $VIRTUAL_HOST_NAME
30+
31+
[v3_req]
32+
subjectAltName = @alt_names
33+
[alt_names]
34+
DNS.1 = $VIRTUAL_HOST_NAME
35+
DNS.2 = $VIRTUAL_HOST_NAME.us.oracle.com
36+
DNS.3 = $VIRTUAL_HOST_NAME.cloud.oracle.com
37+
DNS.4 = *.$VIRTUAL_HOST_NAME
38+
DNS.5 = localhost
39+
EOF
40+
41+
echo "Generating certs for $VIRTUAL_HOST_NAME"
42+
43+
# Generate our Private Key, CSR and Certificate
44+
# Use SHA-2 as SHA-1 is unsupported from Jan 1, 2017
45+
46+
openssl req -x509 -newkey rsa:2048 -sha256 -nodes -keyout "$SSL_CERT_KEY_FILE" -days 3650 -out "$SSL_CERT_FILE" -config "$CONFIG_FILE"
47+
48+
# OPTIONAL - write an info to see the details of the generated crt
49+
openssl x509 -noout -fingerprint -text < "$SSL_CERT_FILE" > "$SSL_CERT_FILE.info"
50+
# Protect the key
51+
chmod 400 "$SSL_CERT_KEY_FILE"
52+
chmod 400 "$SSL_CERT_FILE.info"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Copyright (c) 2018, 2021, Oracle and/or its affiliates.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
3+
4+
<IfModule mod_weblogic.c>
5+
WebLogicHost ${WEBLOGIC_HOST}
6+
WebLogicPort ${WEBLOGIC_PORT}
7+
</IfModule>
8+
9+
# Directive for weblogic admin Console deployed on Weblogic Admin Server
10+
<Location /console>
11+
SetHandler weblogic-handler
12+
WebLogicHost domain1-admin-server
13+
WebLogicPort ${WEBLOGIC_PORT}
14+
</Location>
15+
16+
# Directive for all application deployed on weblogic cluster with a prepath defined by LOCATION variable
17+
# For example, if the LOCAITON is set to '/weblogic', all applications deployed on the cluster can be accessed via
18+
# http://myhost:myport/weblogic/application_end_url
19+
# where 'myhost' is the IP of the machine that runs the Apache web tier, and
20+
# 'myport' is the port that the Apache web tier is publicly exposed to.
21+
# Note that LOCATION cannot be set to '/' unless this is the only Location module configured.
22+
<Location /weblogic1>
23+
WLSRequest On
24+
WebLogicCluster domain1-cluster-cluster-1:8001
25+
PathTrim /weblogic1
26+
</Location>
27+
28+
# Directive for all application deployed on weblogic cluster with a prepath defined by LOCATION2 variable
29+
# For example, if the LOCAITON2 is set to '/weblogic2', all applications deployed on the cluster can be accessed via
30+
# http://myhost:myport/weblogic2/application_end_url
31+
# where 'myhost' is the IP of the machine that runs the Apache web tier, and
32+
# 'myport' is the port that the Apache webt ier is publicly exposed to.
33+
<Location /weblogic2>
34+
WLSRequest On
35+
WebLogicCluster domain2-cluster-cluster-1:8021
36+
PathTrim /weblogic2
37+
</Location>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Copyright (c) 2018, 2021, Oracle and/or its affiliates.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
3+
4+
# Use this to provide your own Apache webtier configuration as needed; simply define the
5+
# Persistence Volume which contains your own custom_mod_wl_apache.conf file and provide the Persistence Volume Claim Name
6+
persistentVolumeClaimName: <pv-claim-name>
7+
8+
# imagePullSecrets contains an optional list of Kubernetes secrets, that are needed
9+
# to access the registry containing the apache webtier image.
10+
# If no secrets are required, then omit this property.
11+
#
12+
# Example : a secret is needed, and has been stored in 'my-apache-webtier-secret'
13+
#
14+
# imagePullSecrets:
15+
# - name: my-apache-webtier-secret
16+
17+
# The VirtualHostName of the Apache HTTP server. It is used to enable custom SSL configuration.
18+
virtualHostName: apache-sample-host
19+
20+
# The customer supplied certificate to use for Apache webtier SSL configuration.
21+
# The value must be a string containing a base64 encoded certificate. Run following command to get it.
22+
# base64 -i ${SSL_CERT_FILE} | tr -d '\n'
23+
customCert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURxakNDQXBJQ0NRQ0w2Q2JwRWZ6QnB6QU5CZ2txaGtpRzl3MEJBUXNGQURDQmxqRUxNQWtHQTFVRUJoTUMKVlZNeEN6QUpCZ05WQkFnTUFrTkJNUmN3RlFZRFZRUUhEQTVTWldSM2IyOWtJRk5vYjNKbGN6RWJNQmtHQTFVRQpDZ3dTVDNKaFkyeGxJRU52Y25CdmNtRjBhVzl1TVNjd0pRWURWUVFMREI1QmNHRmphR1VnU0ZSVVVDQlRaWEoyClpYSWdWMmwwYUNCUWJIVm5hVzR4R3pBWkJnTlZCQU1NRW1Gd1lXTm9aUzF6WVcxd2JHVXRhRzl6ZERBZUZ3MHgKT0RFeE1UUXhOVEF3TURGYUZ3MHlPREV4TVRFeE5UQXdNREZhTUlHV01Rc3dDUVlEVlFRR0V3SlZVekVMTUFrRwpBMVVFQ0F3Q1EwRXhGekFWQmdOVkJBY01EbEpsWkhkdmIyUWdVMmh2Y21Wek1Sc3dHUVlEVlFRS0RCSlBjbUZqCmJHVWdRMjl5Y0c5eVlYUnBiMjR4SnpBbEJnTlZCQXNNSGtGd1lXTm9aU0JJVkZSUUlGTmxjblpsY2lCWGFYUm8KSUZCc2RXZHBiakViTUJrR0ExVUVBd3dTWVhCaFkyaGxMWE5oYlhCc1pTMW9iM04wTUlJQklqQU5CZ2txaGtpRwo5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBeXBVWjEzV3ltcUVnSUZOVTZDa2E0SkFqMXFNemZ4T2FjTklNClVKRE9zZUtqdjNOYmpJb0szQTArcE9lRDNPOXBNcUVxM3F5ZWlCTUtnVEQwREhZNS9HQldjeEUvdUJyWk0rQzgKcnl3RVk5QTl5Y1drZ3h4NUFqSFM1ZnRLMFhpQU9OZWdnUnV0RTBTTnRmbmY3T0FwaStzU0k1RlBzT2V2ZWZGVgoybjJHUDg0bHNDTTZ3Y3FLcXRKeStwOC94VEJKdW1MY2RoL1daYktGTDd5YzFGSzdUNXdPVTB3eS9nZ1lVOUVvCk9tT3M3MENQWmloSkNrc1hrd1d0Q0JISEEwWGJPMXpYM1VZdnRpeGMwb2U3aFltd29zZnlQWU1raC9hL2pWYzEKWkhac25wQXZiWTZrVEoyY1dBa1hyS0srVmc5ZGJrWGVPY0FFTnNHazIvcXFxVGNOV1FJREFRQUJNQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFDQXZZNzBHVzBTM1V4d01mUHJGYTZvOFJxS3FNSDlCRE9lZ29zZGc5Nm9QakZnClgzRGJjblU5U0QxTzAyZUhNb0RTRldiNFlsK3dwZk9zUDFKekdQTERQcXV0RWRuVjRsbUJlbG15Q09xb0F4R0gKRW1vZGNUSWVxQXBnVDNEaHR1NW90UW4zZTdGaGNRRHhDelN6SldkUTRJTFh4SExsTVBkeHpRN1NwTzVySERGeAo0eEd6dkNHRkMwSlhBZ2w4dFhvR3dUYkpDR1hxYWV2cUIrNXVLY1NpSUo2M2dhQk1USytjUmF5MkR4L1dwcEdBClZWTnJsTWs4TEVQT1VSN2RZMm0xT3RaU1hCckdib3QwQjNEUG9yRkNpeVF5Q20vd0FYMFk0Z0hiMlNmcitOeFoKQkppb2VXajZ6ZGFvU3dPZkwxd2taWlJjVGtlZlZyZXdVRjZRQ3BCcAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
24+
25+
# The customer supplied private key to use for Apache webtier SSL configuration.
26+
# The value must be a string containing a base64 encoded key. Run following command to get it.
27+
# base64 -i ${SSL_KEY_FILE} | tr -d '\n'
28+
customKey: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRREtsUm5YZGJLYW9TQWcKVTFUb0tScmdrQ1BXb3pOL0U1cHcwZ3hRa002eDRxTy9jMXVNaWdyY0RUNms1NFBjNzJreW9TcmVySjZJRXdxQgpNUFFNZGpuOFlGWnpFVCs0R3RrejRMeXZMQVJqMEQzSnhhU0RISGtDTWRMbCswclJlSUE0MTZDQkc2MFRSSTIxCitkL3M0Q21MNnhJamtVK3c1Njk1OFZYYWZZWS96aVd3SXpyQnlvcXEwbkw2bnovRk1FbTZZdHgySDlabHNvVXYKdkp6VVVydFBuQTVUVERMK0NCaFQwU2c2WTZ6dlFJOW1LRWtLU3hlVEJhMElFY2NEUmRzN1hOZmRSaSsyTEZ6UwpoN3VGaWJDaXgvSTlneVNIOXIrTlZ6VmtkbXlla0M5dGpxUk1uWnhZQ1Jlc29yNVdEMTF1UmQ0NXdBUTJ3YVRiCitxcXBOdzFaQWdNQkFBRUNnZ0VCQUtPKzR4VnFHRVN1aWxZMnBVSEd2K2ZWK25IcWxweFh6eFQwWTJuWHNvck0KZzhralNGT1AzUGxEWjJoSmppZE9DUDBZa3B0TWNoUFJPRU4ydXowN2J1RlZTV3RXL09jbUpIeXZZalJCWXdiKwo4b0tlVTd4NmprRTgzcGh3aDJoTGUzRDJzZERKK3hyQTViNjZ5OG9lNHRZcTJ3Mk96aGhUSFY1MnVRdVRQS2xpCjJpSHNYQzIwT1dMSmRuMGU1a0IycTJhV3JJaUJBVzI1Y0JyRDQ5MWFyTDh0emJQOWM4eUUyWUdNM1FKaUFtbkYKNUxZUElzZFdVczJYNEhscWtUM0d6ZEVxNUtzV0pzdjN5QUkxOVJ4eXAwZXd1ditTN3hsRjdIZGlhbnR6ZUp4WAp3MnRWbHpjb1BVQVhoVHIxS0N1UDNCT3BQVXNvMG9oaDNzRFVXamVVWUNVQ2dZRUE3L25QYTE5ckpKUExJOFZiCllhQ2pEKzhTR0FvVWZwSDdRTVFyT2RzR0RkcWRKa2VlNEJ0RDBITUEzL1lLVGFUK0JvRVZmQ2czSWpZVWpmeGcKSkp0VWlJVlcya0RsMU5NY0xXaldINExPaFErQlRGbWcvbFlkc2puMW9FbUJ1Rk1NYWF0ejNGdmZscFRCekg4cwpwMHFyL0hJYTFTbllBckVTUXZUVk9MMVhtcThDZ1lFQTJCd1V6NmpQdVVGR3ZKS3RxWTZVbE9yYm05WXFyYVdDCjlhQ3ZBTDFHZ0Q1U1FEcGRVZnl3MVlWdm9hUU9DWHBOL0Z5UHZCdFF2TzYrbHp0MjVTcmMwZk0weHI3d3ZHRmEKSW5FcmlSOXAvMXdXU01yaWFXZitKaE81NENneFZ0alBXZm1pOVNhc0pqOE1jZVk0cUNCNUVJLzM1cjVaa3lFRQozeEhzcEUxVnVuY0NnWUJLYXBveXZzVTM4NGprRDloMW50M1NIQjN0VEhyc2dSSjhGQmtmZU5jWXhybEMzS1RjCjlEZUVWWlZvM2lCMTBYdGd3dmpKcHFMcVBnRUR3c2FCczVWMFBIMGhjMHlTUWVFVUI5V1dzZmFlOXA3dThVQm0KZm9mNDg5WkNuV2pYb3hGUFYzYTNWOW92RlBSQUdSUGMwT0FpaWJQZWRIcGk0MHc1YlRrTnZsR0RTd0tCZ1FESApubWk2eUR2WDZ5dmowN2tGL2VYUkNIK0NHdm1oSEZremVoRXNwYWtSbkg5dFJId2UxMEtnZUhqODNnVDVURGZzCis3THBGbklsa29JS1A2czdVN1JWV2tsTnErSENvRW9adGw5NGNjUC9WSmhnOU1iZWhtaUQwNFRHUVZvUjFvTHgKb1YyZEJQUFBBRDRHbDVtTjh6RGcwNXN4VUhKOUxPckxBa3VNR01NdlVRS0JnQ2RUUGgwVHRwODNUUVZFZnR3bwpuSGVuSEQzMkhrZkR0MTV4Wk84NVZGcTlONVg2MjB2amZKNkNyVnloS1RISllUREs1N2owQ3Z2STBFTksxNytpCi9yaXgwVlFNMTBIMFFuTkZlb0pmS0VITHhXb2czSHVBSVZxTEg4NmJwcytmb25nOCtuMGgvbk5NZUZNYjdSNUMKdmFHNEVkc0VHV0hZS2FiL2lzRlowUVU0Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Apache load balancer default sample
2+
In this sample, we will configure the Apache webtier as a load balancer for a WebLogic domain using the default configuration. We will demonstrate how to use the Apache webtier to handle traffic to a backend WebLogic domain.
3+
4+
## 1. Create a WebLogic domain
5+
We need to prepare a backend domain for load balancing by the Apache webtier. Refer to the [sample](/kubernetes/samples/scripts/create-weblogic-domain/domain-home-on-pv/README.md), to create a WebLogic domain. Keep the default values for the following configuration parameters:
6+
- namespace: `default`
7+
- domainUID: `domain1`
8+
- clusterName: `cluster-1`
9+
- adminServerName: `admin-server`
10+
- adminPort: `7001`
11+
- managedServerPort: `8001`
12+
13+
After the domain is successfully created, deploy the sample web application, `testwebapp.war`, on the domain cluster using the WLS Administration Console. The sample web application is located in the `kubernetes/samples/charts/application` directory.
14+
15+
## 2. Build the Apache webtier Docker image
16+
Refer to the [sample](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-webtier-apache), to build the Apache webtier Docker image.
17+
18+
## 3. Install the Apache webtier with a Helm chart
19+
The Apache webtier Helm chart [is located here](../../apache-webtier/README.md).
20+
Install the Apache webtier Helm chart into the default namespace with the default settings:
21+
```shell
22+
$ cd kubernetes/samples/charts
23+
$ helm install my-release apache-webtier
24+
```
25+
26+
## 4. Run the sample application
27+
Now you can send request to the WebLogic domain with the unique entry point of Apache. Alternatively, you can access the URL in a web browser.
28+
```shell
29+
$ curl --silent http://${HOSTNAME}:30305/weblogic/testwebapp/
30+
```
31+
You can also use an SSL URL to send requests to the WebLogic domain. Access the SSL URL via the `curl` command or a web browser.
32+
```shell
33+
$ curl -k --silent https://${HOSTNAME}:30443/weblogic/testwebapp/
34+
```
35+
36+
## 5. Uninstall the Apache webtier
37+
```shell
38+
$ helm uninstall my-release
39+
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright (c) 2018, 2021, Oracle and/or its affiliates.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
3+
4+
apiVersion: v1
5+
name: apache-webtier
6+
version: 1.0.0
7+
appVersion: 12.2.1.3
8+
description: Chart for Apache HTTP Server
9+
keywords:
10+
- apache
11+
- http
12+
- https
13+
- load balance
14+
- proxy
15+
home: https://httpd.apache.org
16+
sources:
17+
- https://github.com/oracle/weblogic-kubernetes-operator/tree/master/kubernetes/samples/charts/apache-webtier
18+
maintainers:
19+
- name: Oracle
20+
engine: gotpl

0 commit comments

Comments
 (0)