Skip to content

Commit cbe88ac

Browse files
committed
Merge remote-tracking branch 'origin/updates' into develop
2 parents a45865b + 63f0863 commit cbe88ac

File tree

7 files changed

+56
-379
lines changed

7 files changed

+56
-379
lines changed

site/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
# Oracle WebLogic Server Kubernetes Operator Documentation
1+
# Oracle WebLogic Server Kubernetes Operator documentation
22

3-
This directory contains the documentation for the current version of the operator, version 2.0.
3+
This directory contains the documentation for the current version of the operator, version 2.0.
44

5-
If you wish to view documentation for an older version please see:
5+
If you wish to view documentation for an older version, please see:
66

77
* [Version 1.0](v1.0)
8-
* [Version 1.1](v1.1)
8+
* [Version 1.1](v1.1)
9+
10+
For a guide to the operator project, refer to this [README](../README.md).

site/creating-domain.md

Lines changed: 0 additions & 361 deletions
This file was deleted.

site/domains.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Please consult My Oracle Support Doc ID 2349228.1 for up-to-date information abo
8080

8181
### Creating and managing WebLogic domains
8282

83-
Please see [this page](creating-domain.md) for information about creating and managing domains.
83+
In this version of the operator, a WebLogic domain can be located either in a persistent volume (PV) or in a Docker image. For examples of each, see the [WebLogic operator samples](../kubernetes/samples/README.md).
8484

8585
### Modifying domain configurations
8686

site/persistent-volumes.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ The following prerequisites must be fulfilled before proceeding with the creatio
1414
## Storage locations
1515
Persistent volumes can point to different storage locations, for example NFS servers or a local directory path. The list of available options is listed in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/storage/persistent-volumes/).
1616

17+
**Note regarding HostPath**:
18+
In a single-node Kubernetes cluster, such as may be used for testing or proof of concept activities, `HOST_PATH` provides the simplest configuration. In a multinode Kubernetes cluster, a `HOST_PATH` that is located on shared storage mounted by all nodes in the Kubernetes cluster is the simplest configuration. If nodes do not have shared storage, then NFS is probably the most widely available option. There are other options listed in the referenced table.
19+
20+
The persistent volume for the domain must be created using the appropriate tools before running the script to create the domain. In the simplest case, namely the `HOST_PATH` provider, this means creating a directory on the Kubernetes master and ensuring that it has the correct permissions:
21+
22+
```
23+
$ mkdir -m 777 -p /path/to/domain1PersistentVolume
24+
```
25+
1726
**Note regarding NFS**:
1827
In the current GA version, the OCI Container Engine for Kubernetes supports network block storage that can be shared across nodes with access permission RWOnce (meaning that only one can write, others can read only). At this time, the WebLogic on Kubernetes domain created by the WebLogic Server Kubernetes Operator, requires a shared file system to store the WebLogic domain configuration, which MUST be accessible from all the pods across the nodes. As a workaround, you need to install an NFS server on one node and share the file system across all the nodes.
1928

site/quickstart.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ refer to the [User guide](user-guide.md).
77
## Prerequisites
88
For this exercise, you’ll need a Kubernetes cluster. If you need help setting one up, check out our [cheat sheet](k8s_setup.md).
99

10+
The operator uses Helm to create and deploy necessary resources and then run the operator in a Kubernetes cluster. For Helm installation and usage information, see [Using operator Helm charts](helm-charts.md).
11+
1012
You should clone this repository to your local machine so that you have access to the
1113
various sample files mentioned throughout this guide:
1214
```
@@ -92,7 +94,13 @@ $ helm install kubernetes/charts/weblogic-operator \
9294
--set "domainNamespaces={}" \
9395
--wait
9496
```
95-
d. Verify that the operator is up and running by viewing the operator pod's log:
97+
98+
d. Verify that the operator's pod is running, by listing the pods in the operator's namespace. You should see one for the operator.
99+
```
100+
$ kubectl get pods -n sample-weblogic-operator-ns
101+
```
102+
103+
e. Verify that the operator is up and running by viewing the operator pod's log:
96104

97105
```
98106
$ kubectl log -n sample-weblogic-operator-ns -c weblogic-operator deployments/weblogic-operator
@@ -160,47 +168,47 @@ $ ./create-domain.sh -i my-inputs.yaml -o /some/output/directory -e -v
160168
```
161169

162170
c. Confirm that the operator started the servers for the domain:
171+
* Use `kubectl` to show that the domain resource was created:
163172
```
164-
$ kubectl get pods -n sample-domain1-ns
173+
$ kubectl describe domain sample-domain1 -n sample-domain1-ns
165174
```
166175

167176
After a short time, you will see the Administration Server and Managed Servers running.
168-
169-
* Use `kubectl` to show that the domain resource was created:
170177
```
171-
$ kubectl describe domain sample-domain1 -n sample-domain1-ns
178+
$ kubectl get pods -n sample-domain1-ns
172179
```
173-
* Verify that the operator's pod is running, by listing the pods in the operator's namespace. You should see one for the operator.
180+
181+
You should also see all the Kubernetes services for the domain.
174182
```
175-
$ kubectl get pods -n sample-weblogic-operator-ns
183+
$ kubectl get services -n sample-domain1-ns
176184
```
177185

178186
d. Create an Ingress for the domain, in the domain namespace, by using the [sample](../kubernetes/samples/charts/ingress-per-domain/README.md) Helm chart:
179187
* Use `helm install`, specifying the `domainUID` (`sample-domain1`) and domain namespace (`sample-domain1-ns`) in the `values.yaml` file.
180188
```
181189
$ cd kubernetes/samples/charts
182190
$ helm install ingress-per-domain --name domain1-ingress --values ingress-per-domain/values.yaml
183-
```
191+
```
184192

185193
e. To confirm that the load balancer noticed the new Ingress and is successfully routing to the domain's server pods
186194
you can hit the URL for the "WebLogic Ready App" which will return a HTTP 200 status code as
187-
shown in the example below. If you used the host-based routing ingress sample you will need to
195+
shown in the example below. If you used the host-based routing ingress sample you will need to
188196
provide the hostname in the `-H` option:
189197
```
190198
$ curl -v -H 'host: domain1.org' http://your.server.com:30305/weblogic/

191-
* 
About to connect() to your.server.com port 30305 (#0)

199+
*
About to connect() to your.server.com port 30305 (#0)

192200
* Trying 10.196.1.64...

193201
* Connected to your.server.com (10.196.1.64) port 30305 (#0)
194202

> GET /weblogic/ HTTP/1.1

195203
> User-Agent: curl/7.29.0

196204
> Accept: */*

197205
> host: domain1.org

198-
>
206+
>
199207

< HTTP/1.1 200 OK

200208
< Content-Length: 0

201209
< Date: Thu, 20 Dec 2018 14:52:22 GMT
202210

< Vary: Accept-Encoding

203-
< 
* Connection #0 to host your.server.com left intact

211+
<
* Connection #0 to host your.server.com left intact

204212
```
205213
**Note**: Depending on where your Kubernetes cluster is running, you may need to open firewall ports or
206214
update security lists to allow ingress to this port.

site/user-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ presented in the correct order.
3131
* [Create and manage WebLogic domains](domains.md)
3232
* [Preparing the Kubernetes cluster to run WebLogic domains](domains.md#preparing-the-kubernetes-cluster-to-run-weblogic-domains)
3333
* [Important considerations for WebLogic domains in Kubernetes](domains.md#important-considerations-for-weblogic-domains-in-kubernetes)
34-
* [Creating and managing WebLogic domains](creating-domain.md)
34+
* [Creating and managing WebLogic domains](domains.md#creating-and-managing-weblogic-domains)
3535
* [Modifying domain configurations](domains.md#modifying-domain-configurations)
3636
* [Managing lifecycle operations](domains.md#managing-lifecycle-operations-including-shutting-down-and-deleting-domains)
3737
* [Using WLST](wlst.md)

site/weblogic-docker-images.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,25 @@ If you want to use the second option, which includes the domain directory
1717
inside the Docker image, then you will need to build your own Docker images
1818
as described in [this section](#creating-a-custom-image-with-your-domain-inside-the-image).
1919

20+
## Setting up secrets to access the Docker Store
21+
22+
**Note** This version of the operator requires WebLogic Server 12.2.1.3.0 plus patch 28076014, so pulling an unpatched image directly to the Kubernetes cluster is not particularly useful. However, we have left this information in the documentation for reference purposes.
23+
24+
In order for Kubernetes to obtain the WebLogic Server Docker image from the Docker Store, which requires authentication, a Kubernetes secret containing the registry credentials must be created. To create a secret with Docker Store credentials, issue the following command:
25+
26+
```
27+
$ kubectl create secret docker-registry SECRET_NAME
28+
-n NAMESPACE
29+
--docker-server=index.docker.io/v1/
30+
--docker-username=YOUR_USERNAME
31+
--docker-password=YOUR_PASSWORD
32+
--docker-email=YOUR_EMAIL
33+
```
34+
35+
In this command, replace the uppercase items with the appropriate values. The `SECRET_NAME` will be needed in later parameter files. The `NAMESPACE` must match the namespace where the first domain will be deployed, otherwise Kubernetes will not be able to find it.
36+
37+
It may be preferable to manually pull the image in advance, on each Kubernetes worker node, as described in the next section.
38+
If you choose this approach, you do not require the Kubernetes secret.
2039

2140
## Obtaining standard images from the Docker store
2241

0 commit comments

Comments
 (0)