Skip to content

Commit a70445a

Browse files
committed
Merge remote-tracking branch 'origin/develop' into OWLS-69880
2 parents 8c8d769 + e29db81 commit a70445a

File tree

1,146 files changed

+296299
-3707
lines changed

Some content is hidden

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

1,146 files changed

+296299
-3707
lines changed

README.md

Lines changed: 31 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -6,132 +6,53 @@ Built with [Wercker](http://www.wercker.com)
66

77
Oracle is finding ways for organizations using WebLogic Server to run important workloads, to move those workloads into the cloud. By certifying on industry standards, such as Docker and Kubernetes, WebLogic now runs in a cloud neutral infrastructure. In addition, we've provided an open-source Oracle WebLogic Server Kubernetes Operator (the “operator”) which has several key features to assist you with deploying and managing WebLogic domains in a Kubernetes environment. You can:
88

9-
* Create WebLogic domains on a Kubernetes persistent volume. This persistent volume can reside in an NFS.
9+
* Create WebLogic domains in a Kubernetes persistent volume. This persistent volume can reside in an NFS file system or other Kubernetes volume types.
1010
* Create a WebLogic domain in a Docker image.
1111
* Override certain aspects of the WebLogic domain configuration.
12-
* Define WebLogic domains as a Kubernetes resource (using a Kubernetes custom resource definition).
13-
* Start servers based on declarative startup parameters and desired states.
12+
* Define WebLogic domains as a Kubernetes resource (using a Kubernetes custom resource definition).
13+
* Start servers based on declarative startup parameters and desired states.
1414
* Manage WebLogic configured or dynamic clusters.
15-
* Expose the WebLogic Server Administration Console outside the Kubernetes cluster, if desired.
16-
* Expose T3 channels outside the Kubernetes domain, if desired.
17-
* Expose HTTP paths on a WebLogic domain outside the Kubernetes domain with load balancing and update the load balancer when Managed Servers in the WebLogic domain are started or stopped.
15+
* Expose the WebLogic Server Administration Console outside the Kubernetes cluster, if desired.
16+
* Expose T3 channels outside the Kubernetes domain, if desired.
17+
* Expose HTTP paths on a WebLogic domain outside the Kubernetes domain with load balancing and update the load balancer when Managed Servers in the WebLogic domain are started or stopped.
1818
* Scale WebLogic domains by starting and stopping Managed Servers on demand, or by integrating with a REST API to initiate scaling based on WLDF, Prometheus, Grafana, or other rules.
1919
* Publish operator and WebLogic Server logs into Elasticsearch and interact with them in Kibana.
2020

2121
The fastest way to experience the operator is to follow the [Quick start guide](site/quickstart.md), or you can peruse our [documentation](site), read our blogs, or try out the [samples](kubernetes/samples/README.md).
2222

23+
# About this documentation
2324

24-
# Important terms
25+
This documentation includes sections aimed at different audiences. To help you find what you are looking for more easily,
26+
please consult this table of contents:
2527

26-
This documentation uses several important terms which are intended to have a specific meaning.
28+
* The [Quick start guide](site/quickstart.md) explains how to just get the operator running quickly, using all the defaults, nothing special.
29+
* The [User guide](site/user-guide.md) contains detailed information for users of the operator, including how to install and configure it,
30+
and how to use it to create and manage WebLogic domains.
31+
* Our [samples](#samples) provide detailed example code and instructions that show you how to perform
32+
various tasks related to the operator.
33+
* The [Developer guide](site/developer.md) provides details for people who want to understand how the operator is built, tested, and so on,
34+
and those who wish to contribute to the operator code will find useful information here. This section also includes
35+
API documentation (JavaDoc) and Swagger/OpenAPI documentation for the REST APIs.
36+
* The [Contributing](#contributing-to-the-operator) section provides information about conribution requirements.
2737

28-
|Term | Definition |
29-
| --- | --- |
30-
| Cluster | Because this term is ambiguous, it will be prefixed to indicate which type of cluster is meant. A WebLogic cluster is a group of Managed Servers that together host some application or component and which are able to share load and state between them. A Kubernetes cluster is a group of machines (“nodes”) that all host Kubernetes resources, like pods and services, and which appear to the external user as a single entity. If the term “cluster” is not prefixed, it should be assumed to mean a Kubernetes cluster. |
31-
| Domain | A WebLogic domain is a group of related applications and resources along with the configuration information necessary to run them. |
32-
| Ingress | A Kubernetes Ingress provides access to applications and services in a Kubernetes environment to external clients. An Ingress may also provide additional features like load balancing. |
33-
| Namespace | A Kubernetes namespace is a named entity that can be used to group together related objects, for example, pods and services. |
34-
| Operator | A Kubernetes operator is software that performs management of complex applications. |
35-
|Pod | A Kubernetes pod contains one or more containers and is the object that provides the execution environment for an instance of an application component, such as a web server or database. |
36-
| Job | A Kubernetes job is a type of controller that creates one or more pods that run to completion to complete a specific task. |
37-
| Secret | A Kubernetes secret is a named object that can store secret information like usernames, passwords, X.509 certificates, or any other arbitrary data. |
38-
|Service | A Kubernetes service exposes application endpoints inside a pod to other pods, or outside the Kubernetes cluster. A service may also provide additional features like load balancing. |
3938

40-
# Getting started
39+
# User guide
4140

42-
Before using the operator, you might want to read the [design philosophy](site/design.md) to develop an understanding of the operator's design, and the [architectural overview](site/architecture.md) to understand its architecture, including how WebLogic domains are deployed in Kubernetes using the operator. Also, worth reading are the details of the [Kubernetes RBAC definitions](site/rbac.md) required by the operator.
41+
The [User guide](site/user-guide.md) provides detailed information about all aspects of using the operator including:
4342

44-
## Prerequisites
43+
* installing and configuring the operator,
44+
* using the operator to create and manage WebLogic domains,
45+
* manually creating WebLogic domains to be managed by the operator,
46+
* scaling WebLogic clusters,
47+
* configuring Kubernetes load balancers,
48+
* configuring Elasticsearch and Kibana to access the operator's log files,
49+
* shutting down domains,
50+
* removing/deleting domains,
51+
* and much more!
4552

46-
* Kubernetes 1.10.11+, 1.11.5+, and 1.12.3+ (check with `kubectl version`).
47-
* Flannel networking v0.9.1-amd64 (check with `docker images | grep flannel`)
48-
* Docker 17.03.1.ce (check with `docker version`)
49-
* Oracle WebLogic Server 12.2.1.3.0
53+
# Samples
5054

51-
## Set up your Kubernetes cluster
52-
53-
If you need help setting up a Kubernetes environment, check our [cheat sheet](site/k8s_setup.md).
54-
55-
## Manage your Kubernetes environment
56-
57-
After creating Kubernetes clusters, you can optionally:
58-
* Create load balancers to direct traffic to backend domains.
59-
* Configure Kibana and Elasticsearch for your operator logs.
60-
61-
### Creating load balancers
62-
63-
Use these [scripts and Helm charts](kubernetes/samples/README.md) to install Traefik, Apache, or Voyager load balancers.
64-
65-
### Configuring Kibana and Elasticsearch
66-
67-
You can send the operator logs to Elasticsearch, to be displayed in Kibana. Use this [sample script](kubernetes/samples/scripts/elasticsearch_and_kibana.yaml) to configure Elasticsearch and Kibana deployments and services.
68-
69-
## Create and manage the operator
70-
71-
An operator is an application-specific controller that extends Kubernetes to create, configure, and manage instances of complex applications. The WebLogic Kubernetes Operator follows the standard Kubernetes Operator pattern, and simplifies the management and operation of WebLogic domains and deployments. You can find the operator image in [Docker Hub](https://hub.docker.com/r/oracle/weblogic-kubernetes-operator/).
72-
73-
In your Kubernetes cluster you can have one or more operators that manage one or more WebLogic domains (running in a cluster). We provide a Helm chart to create the operator. (Point to the documentation and sample that describes how to do the steps below.)
74-
75-
76-
### Starting the operator
77-
78-
* Create the namespace and service account for the operator (See the script and doc that describe how to do these.)
79-
* Edit the operator input YAML
80-
* Start the operator with a Helm chart
81-
82-
### Modifying the operator
83-
84-
(images, RBAC roles, ...)
85-
86-
### Shutting down the operator
87-
(See the operator sample README section that describes how to shutdown and delete all resources for the operator.)
88-
89-
## Create and manage WebLogic domains
90-
91-
In this version of the operator, a WebLogic domain can be persisted either to a persistent volume (PV) or in a Docker image.
92-
(Describe the pros and cons of both these approaches.)
93-
94-
* WebLogic binary image when domain is persisted to a PV (as in Operator v1.1)
95-
* WebLogic domain image where the domain is persisted to a Docker image (new for Operator v2.0). The WebLogic domain image will contain the WebLogic binaries, domain configuration, and applications.
96-
97-
You create the WebLogic domain inside of a Docker image or in a PV using WebLogic Scripting Tool (WLST) or WebLogic Deploy Tooling (WDT).
98-
* (Describe the advantages of using WDT. See samples, Domain in image WDT, Domain in image WLST, Domain in PV WDT, Domain in PV WLST.)
99-
100-
(What images do we need before we get started? Operator 2.0 requires you to patch your WebLogic image 12.2.1.3 with patch #.)
101-
102-
### Preparing the Kubernetes cluster to run WebLogic domains
103-
104-
Perform these steps to prepare your Kubernetes cluster to run a WebLogic domain:
105-
106-
* Create the domain namespace. One or more domains can share a namespace.
107-
* Define RBAC roles for the domain.
108-
* Create a Kubernetes secret for the Administration Server boot credentials.
109-
* Optionally, [create a PV & persistent volume claim (PVC)](kubernetes/samples/scripts/create-weblogic-domain-pv-pvc/README.md) which can hold the domain home, logs, and application binaries.
110-
* [Configure a load balancer](kubernetes/samples/charts/README.md) to manage the domains and ingresses.
111-
112-
### Creating and managing WebLogic domains
113-
114-
To create and manage a WebLogic domain in Kubernetes we create a deployment type, the domain custom resource. The operator introspects the custom resource and manages the domain deployment to adjust to the definitions in the custom resource. This custom resource can also be managed using the Kubernetes command-line interface `kubectl`.
115-
* (Point to documentation how to edit the domain inputs YAML and how to create the domain custom resource.)
116-
* Create Ingress controllers if you are using a load balancer that supports them, such as Traefik or Voyager.
117-
118-
### Managing lifecycle operations
119-
120-
In Operator 2.0 you can perform lifecycle operations on WebLogic servers, clusters, or domains.
121-
* Point to the documentation on how to manage lifecycle operations.
122-
123-
### Modifying domain configurations
124-
You can modify the WebLogic domain configuration for both the domain in PV and the domain in image:
125-
126-
* When the domain is in a PV, use WLST or WDT to change the configuration.
127-
* Use configuration overrides when using the domain in image.(Check with Tom B, "The automatic and custom overrides apply to all domains - not just domain-in-image domains." Point to the documentation.)
128-
129-
### Patching WebLogic and performing application updates
130-
131-
### Shutting down domains
132-
133-
### Deleting domains
134-
(Point to sample)
55+
**TODO** put a list of samples here with a summary and links
13556

13657
# Developer guide
13758

0 commit comments

Comments
 (0)