Skip to content

Commit 06393d7

Browse files
author
Tom Barnes
committed
Merge remote-tracking branch 'origin/develop' into tbarnes/apachefix
2 parents edba0fb + 9e2990e commit 06393d7

File tree

3 files changed

+42
-52
lines changed

3 files changed

+42
-52
lines changed

site/apache.md

Lines changed: 28 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11

2-
# Load Balancing with Apache Web Server
2+
# Load balancing with the Apache HTTP Server
33

4-
This page describes how to setup and start a Apache Web Server for load balancing inside a Kubernetes cluster. The configuration and startup can either be automatic when you create a domain using the WebLogic Operator's `create-weblogic-domain.sh` script, or manual if you have an existing WebLogic domain configuration.
4+
This document describes how to set up and start an Apache HTTP Server for load balancing inside a Kubernetes cluster. The configuration and startup can be either automatic, when you create a domain using the WebLogic Operator's `create-weblogic-domain.sh` script, or manual, if you have an existing WebLogic domain configuration.
55

6-
## Build Docker Image for Apache Web Server
6+
## Build the Docker image for the Apache HTTP Server
77

8-
You need to build the Docker image for Apache Web Server that embeds the Oracle WebLogic Server Proxy Plugin.
8+
You need to build the Docker image for the Apache HTTP Server that embeds the Oracle WebLogic Server Proxy Plugin.
99

10-
1. Download and build the Docker image for the Apache Web Server with 12.2.1.3.0 Oracle WebLogic Server Proxy Plugin. See the instructions in [Apache Web Server with Oracle WebLogic Server Proxy Plugin on Docker](https://github.com/oracle/docker-images/tree/master/OracleWebLogic/samples/12213-webtier-apache).
10+
1. Download and build the Docker image for the Apache HTTP Server with the 12.2.1.3.0 Oracle WebLogic Server Proxy Plugin. See the instructions 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).
1111

12-
2. Tag your Docker image to `store/oracle/apache:12.2.1.3` using `docker tag` command.
12+
2. Tag your Docker image, `store/oracle/apache:12.2.1.3`, using the `docker tag` command.
1313

1414
```
1515
1616
$ docker tag 12213-apache:latest store/oracle/apache:12.2.1.3
1717
1818
```
1919

20-
More information about the Apache plugin can be found at: [Apache Web Server with Oracle WebLogic Server Proxy Plugin on Docker](https://docs.oracle.com/middleware/1213/webtier/develop-plugin/apache.htm#PLGWL395).
20+
For more information about the Apache plugin, see [Apache HTTP Server with Oracle WebLogic Server Proxy Plugin on Docker](https://docs.oracle.com/middleware/1213/webtier/develop-plugin/apache.htm#PLGWL395).
2121

22-
Once you have access to the Docker image of the Apache Web Server, you can go ahead follow the instructions below to setup and start Kubernetes resources for an Apache Web Server.
22+
After you have access to the Docker image of the Apache HTTP Server, you can follow the instructions below to set up and start the Kubernetes resources for the Apache HTTP Server.
2323

2424

25-
## Use Apache load balancer with a WebLogic domain created with the WebLogic Operator
25+
## Use the Apache load balancer with a WebLogic domain created with the WebLogic Operator
2626

27-
Please refer to [Creating a domain using the WebLogic Operator](creating-domain.md) for how to create a domain with the WebLogic Operator.
27+
For how to create a domain with the WebLogic Operator, please refer to [Creating a domain using the WebLogic Operator](creating-domain.md).
2828

29-
You need to configure Apache Web Server as your load balancer for a WebLogic domain by setting the `loadBalancer` option to `APACHE` in `create-weblogic-domain-inputs.yaml` (as shown below) when running the `create-weblogic-domain.sh` script to create a domain.
29+
You need to configure the Apache HTTP Server as your load balancer for a WebLogic domain by setting the `loadBalancer` option to `APACHE` in the `create-weblogic-domain-inputs.yaml` (as shown below) when running the `create-weblogic-domain.sh` script to create a domain.
3030

3131
```
3232
@@ -36,9 +36,9 @@ loadBalancer: APACHE
3636
3737
```
3838

39-
The `create-weblogic-domain.sh` script installs the Apache Web Server with Oracle WebLogic Server Proxy Plugin into the Kubernetes *cluster* in the same namespace as the *domain*.
39+
The `create-weblogic-domain.sh` script installs the Apache HTTP Server with the Oracle WebLogic Server Proxy Plugin into the Kubernetes *cluster* in the same namespace as the *domain*.
4040

41-
The Apache Web Server will expose a `NodePort` that allows access to the load balancer from outside of the Kubernetes cluster. The port is configured by setting 'loadBalancerWebPort' in `create-weblogic-domain-inputs.yaml` file.
41+
The Apache HTTP Server will expose a `NodePort` that allows access to the load balancer from outside of the Kubernetes cluster. The port is configured by setting `loadBalancerWebPort` in the `create-weblogic-domain-inputs.yaml` file.
4242

4343
```
4444
@@ -48,13 +48,11 @@ loadBalancerWebPort: 30305
4848
4949
```
5050

51-
The user can access an application from outside of the Kubernetes cluster via http://<host>:30305/<application-url>.
51+
Users can access an application from outside of the Kubernetes cluster by using `http://<host>:30305/<application-url>`.
5252

5353
### Use the default plugin WL module configuration
5454

55-
By default, the Apache Docker image supports a simple WebLogic server proxy plugin configuration for a single WebLogic domain with an admin server and a cluster. The `create-weblogic-domain.sh` script automatically customizes the default behavior based on your domain configuration by generating a customized Kubernetes resources yaml file for Apache named `weblogic-domain-apache.yaml`. The default setting only supports the type of load balancing that uses the root path ("/").
56-
57-
You can further customize the root path of the load balancer with `loadBalancerAppPrepath` property in the `create-weblogic-domain-inputs.yaml` file.
55+
By default, the Apache Docker image supports a simple WebLogic Server proxy plugin configuration for a single WebLogic domain with an Administration Server and a cluster. The `create-weblogic-domain.sh` script automatically customizes the default behavior based on your domain configuration by generating a customized Kubernetes resources yaml file for Apache named `weblogic-domain-apache.yaml`. The default setting supports only the type of load balancing that uses the root path ("/"). You can further customize the root path of the load balancer with the `loadBalancerAppPrepath` property in the `create-weblogic-domain-inputs.yaml` file.
5856

5957
```
6058
@@ -66,11 +64,11 @@ loadBalancerAppPrepath: /weblogic
6664

6765
It is sometimes, but rarely, desirable to expose a WebLogic administrative host and port through a load balancer to a public network. If this is needed, then, once the `weblogic-domain-apache.yaml` file is generated, you can customize exposure of the WebLogic admin admin host and port by uncommenting the `WEBLOGIC_HOST` and `WEBLOGIC_PORT` environment variables in the file. If this files' resources have already been deployed (as happens automatically when running `create-weblogic-domain.sh`), one way to make the change is to delete the files' running Kubernetes resources via `kubectl delete -f weblogic-domain-apache.yaml`, and then deploy them again via `kubectl create -f weblogic-domain-apache.yaml`.
6866

69-
The user can then access an application from outside of the Kubernetes cluster via `http://<host>:30305/weblogic/<application-url>,` and, if the admin server host and port environment variables are uncommented below, an admin can access the admin console via `http://<host>:30305/console`.
67+
Users can then access an application from outside of the Kubernetes cluster by using `http://<host>:30305/weblogic/<application-url>,` and, if the WebLogic administration server host and port environment variables are uncommented below, an adminstrator can access the Administration Console via `http://<host>:30305/console`.
7068

71-
The generated Kubernetes yaml files look like the following given the domainUID "domain1".
69+
The generated Kubernetes YAML files look like the following, given the `domainUID`, "`domain1`".
7270

73-
`weblogic-domain-apache.yaml` for Apache web server deployment
71+
Sample `weblogic-domain-apache.yaml` file for Apache HTTP Server deployment.
7472

7573
```
7674
@@ -258,7 +256,7 @@ spec:
258256
259257
```
260258

261-
`weblogic-domain-apache-security.yaml` for associated RBAC roles and role bindings
259+
Sample `weblogic-domain-apache-security.yaml` file for associated RBAC roles and role bindings.
262260

263261
```
264262
@@ -398,7 +396,7 @@ domain1-apache-webtier 2h
398396
### Use your own plugin WL module configuration
399397

400398

401-
You can fine tune the behavior of the Apache plugin by providing your own Apache plugin configuration. You put your custom_mod_wl_apache.conf file in a local directory, for example `<host-config-dir>` , and specify this location in the `create-weblogic-domain-inputs.yaml` file as follows.
399+
You can fine tune the behavior of the Apache plugin by providing your own Apache plugin configuration. You put your `custom_mod_wl_apache.conf` file in a local directory, for example, `<host-config-dir>` , and specify this location in the `create-weblogic-domain-inputs.yaml` file as follows:
402400

403401
```
404402
@@ -410,9 +408,9 @@ loadBalancerVolumePath: <host-config-dir>
410408
411409
```
412410

413-
After the `loadBalancerVolumePath` property is specified, the `create-weblogic-domain.sh` script will use the custom_mod_wl_apache.conf file in `<host-config-dir>` directory to replace what is in the Docker image.
411+
After the `loadBalancerVolumePath` property is specified, the `create-weblogic-domain.sh` script will use the `custom_mod_wl_apache.conf` file in `<host-config-dir>` directory to replace what is in the Docker image.
414412

415-
The generated yaml files will look similar except with un-commented entries like bellow.
413+
The generated YAML files will look similar except with un-commented entries like below:
416414

417415
```
418416
@@ -422,7 +420,7 @@ The generated yaml files will look similar except with un-commented entries like
422420
423421
hostPath:
424422
425-
path: <host-config-dir>
423+
path: <host-config-dir>
426424
427425
containers:
428426
@@ -444,21 +442,13 @@ The generated yaml files will look similar except with un-commented entries like
444442

445443
## Use the Apache load balancer with a manually created WebLogic Domain
446444

447-
If your WebLogic domain is not created by the WebLogic Operator, you need to manually create and start all Kubernetes' resources for Apache Web Server.
448-
449-
450-
1. Create your own custom_mod_wl_apache.conf file, and put it in a local dir, say `<host-conf-dir>`. See the instructions in [Apache Web Server with Oracle WebLogic Server Proxy Plugin on Docker](https://docs.oracle.com/middleware/1213/webtier/develop-plugin/apache.htm#PLGWL395).
451-
452-
2. Create the Apache deployment yaml file. See the example above. Note that you need to use the **volumes** and **volumeMounts** to mount `<host-config-dir>` in to `/config` directory inside the pod that runs Apache web tier. Note that the Apache Web Server needs to be in the same Kubernetes namespace as the WebLogic domains that it needs to access.
453-
454-
3. Create a RBAC yaml file. See the example above
455-
456-
Note that you can choose to run one Apache Web Server to load balance to multiple domains/clusters inside the same Kubernetes cluster as long as the Apache Web Server and the domains are all in the same namespace.
457-
458-
459-
445+
If your WebLogic domain is not created by the WebLogic Operator, you need to manually create and start all Kubernetes' resources for the Apache HTTP Server.
460446

461447

448+
1. Create your own `custom_mod_wl_apache.conf` file, and put it in a local directory, for example, `<host-conf-dir>`. See the instructions in [Apache Web Server with Oracle WebLogic Server Proxy Plugin on Docker](https://docs.oracle.com/middleware/1213/webtier/develop-plugin/apache.htm#PLGWL395).
462449

450+
2. Create the Apache deployment YAML file. See the example above. Note that you need to use the **volumes** and **volumeMounts** to mount `<host-config-dir>` into the `/config` directory inside the pod that runs the Apache web tier. Note that the Apache HTTP Server needs to be in the same Kubernetes namespace as the WebLogic domain that it needs to access.
463451

452+
3. Create a RBAC YAML file. See the example above.
464453

454+
Note that you can choose to run one Apache HTTP Server to balance the loads from multiple domains/clusters inside the same Kubernetes cluster, as long as the Apache HTTP Server and the domains are all in the same namespace.

site/rbac.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
# RBAC
1+
# Role-Based Access Control (RBAC)
22

3-
The operator assumes that certain roles and role bindings are created on the Kubernetes cluster. The operator installation scripts create these, and the operator verifies that they are correct when the cluster starts up. This section lists the [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/) definitions that are created.
3+
The operator assumes that certain roles and role bindings are created on the Kubernetes cluster. The operator installation scripts create these, and the operator verifies that they are correct when the cluster starts up. This document lists the [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/) definitions that are created.
44

5-
The general design goal is to provide the operator with the minimum amount of permissions that it requires, and to favor built-in roles over custom roles where it make sense to do so.
5+
The general design goal is to provide the operator with the minimum amount of permissions that it requires, and to favor built-in roles over custom roles, where it make sense to do so.
66

7-
## KUBERNETES ROLE DEFINITIONS
7+
## Kubernetes role definitions
88

9-
| Cluster Role | Resources | Verbs | Notes |
9+
| Cluster role | Resources | Verbs | Notes |
1010
| --- | --- | --- | --- |
11-
| weblogic-operator-cluster-role | namespaces, persistentvolumes | get, list, watch | 1 |
11+
| `weblogic-operator-cluster-role` | namespaces, persistentvolumes | get, list, watch | 1 |
1212
| | customresourcedefinitions in API group apiextensions.k8s.io | get, list, watch, create, update, patch, delete, deletecollection | |
1313
| | domains in API group weblogic.oracle | get, list, watch, update, patch | |
1414
| | Ingresses in API group extensions | get, list, watch, create, update, patch, delete, deletecollection | |
15-
| weblogic-operator-cluster-role-nonresource | nonResourceURLs: ["/version/*"] | get | 1 |
16-
|weblogic-operator-namespace-role | secrets, persistentvolumeclaims | get, list, watch | 2 |
15+
| `weblogic-operator-cluster-role-nonresource` | nonResourceURLs: ["/version/*"] | get | 1 |
16+
|`weblogic-operator-namespace-role` | secrets, persistentvolumeclaims | get, list, watch | 2 |
1717
| | services, pods, networkpolicies | get, list, watch, create, update, patch, delete, deletecollection | |
18-
| NAMESPACE-operator-rolebinding-discovery | system:discovery in API group rbac.authorization.k8s.io | | 1 |
19-
| NAMESPACE-operator-rolebinding-auth-delegator | system:auth-delegator in API group rbac.authorization.k8s.io | | 1 |
18+
| `NAMESPACE-operator-rolebinding-discovery` | system:discovery in API group rbac.authorization.k8s.io | | 1 |
19+
| `NAMESPACE-operator-rolebinding-auth-delegator` | system:auth-delegator in API group rbac.authorization.k8s.io | | 1 |
2020

21-
**Notes**
21+
**Notes**:
2222

2323
1. This cluster role is assigned to the operator’s service account in the operator’s namespace. The uppercase text `NAMESPACE` in the cluster role name is replaced with the operator’s namespace.
2424
2. This cluster role is assigned to the operator’s service account in each of the “target namespaces”; that is, each namespace that the operator is configured to manage.

site/rest.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
The operator provides a REST server which can be used to get a list of WebLogic domains and clusters and to initiate scaling operations. Swagger documentation for the REST API is available [here](https://oracle.github.io/weblogic-kubernetes-operator/swagger/index.html).
44

5-
Most of the services access a `GET`, for example:
5+
You can access most of the REST services using `GET`, for example:
66

77
* To obtain a list of domains, send a `GET` request to the URL `/operator/latest/domains`.
88
* To obtain a list of clusters in a domain, send a `GET` request to the URL `/operator/latest/domains/<domainUID>/clusters`.
99

1010
All of the REST services require authentication. Callers must pass in a valid token header and a CA certificate file. The `X-Requested-By` header is not required. Callers should pass in the `Accept:/application/json` header.
1111

12-
If using `curl`, the `-k` option can be used to bypass the check to verify that the operator's certificate is trusted (instead of `curl --cacert`).
12+
If using `curl`, you can use the `-k` option to bypass the check to verify that the operator's certificate is trusted (instead of `curl --cacert`).
1313

14-
Here is a small BASH script that may help to prepare the necessary token, certificates, and so on, to call the operator's REST services:
14+
Here is a small BASH script that may help to prepare the necessary token, certificates, and such, to call the operator's REST services:
1515

1616
```
1717
#!/bin/bash

0 commit comments

Comments
 (0)