You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many organizations are exploring, testing, or actively moving application workloads into a cloud environment, either in house or using an external cloud provider. Kubernetes has emerged as a leading cloud platform and is seeing widespread adoption. But a new computing model does not necessarily mean new applications or workloads – many of the existing application workloads running in environments designed and built over many years, before the ‘cloud era’, are still mission critical today. As such, there is a lot of interest in moving such workloads into a cloud environment, like Kubernetes, without forcing application rewrites, retesting and additional process and cost. There is also a desire to not just run the application in the new environment, but to run it ‘well’ – to adopt some of the idioms of the new environment and to realize some of the benefits of that new environment.
7
+
Many organizations are exploring, testing, or actively moving application workloads into a cloud environment, either in house or using an external cloud provider. Kubernetes has emerged as a leading cloud platform and is seeing widespread adoption. But a new computing model does not necessarily mean new applications or workloads; many of the existing application workloads running in environments designed and built over many years, before the ‘cloud era’, are still mission critical today. As such, there is a lot of interest in moving such workloads into a cloud environment, like Kubernetes, without forcing application rewrites, retesting and additional process and cost. There is also a desire to not just run the application in the new environment, but to run it ‘well’ – to adopt some of the idioms of the new environment and to realize some of the benefits of that new environment.
8
8
9
-
Oracle has been working with the WebLogic community to find ways to make it as easy as possible for organizations using WebLogic Server to run important workloads to move those workloads into the cloud. One aspect of that effort is the creation of the Oracle WebLogic Server Kubernetes Operator. The Technology Preview release of the Operator provides a number of features to assist with the management of WebLogic domains in a Kubernetes environment, including:
9
+
Oracle has been working with the WebLogic community to find ways to make it as easy as possible for organizations using WebLogic Server to run important workloads, to move those workloads into the cloud. One aspect of that effort is the creation of the Oracle WebLogic Server Kubernetes Operator. The Technology Preview release of the Operator provides a number of features to assist with the management of WebLogic domains in a Kubernetes environment, including:
10
10
11
-
* A mechanism to create a WebLogic domain on a Kubernetes persistent volume,
12
-
* A mechanism to define a WebLogic domain as a Kubernetes resource (using a Kubernetes custom resource definition),
13
-
* The ability to automatically start servers based on declarative startup parameters and desired states,
14
-
* The ability to automatically expose the WebLogic Server Administration Console outside the Kubernetes cluster (if desired),
15
-
* The ability to automatically expose T3 channels outside the Kubernetes domain (if desired),
16
-
* The ability to automatically expose HTTP paths on a WebLogic domain outside the Kubernetes domain with load balancing, and to update the load balancer when Managed Servers in the WebLogic domain are started or stop,
17
-
* The ability to scale a WebLogic domain 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, and
11
+
* A mechanism to create a WebLogic domain on a Kubernetes persistent volume
12
+
* A mechanism to define a WebLogic domain as a Kubernetes resource (using a Kubernetes custom resource definition)
13
+
* The ability to automatically start servers based on declarative startup parameters and desired states
14
+
* The ability to automatically expose the WebLogic Server Administration Console outside the Kubernetes cluster (if desired)
15
+
* The ability to automatically expose T3 channels outside the Kubernetes domain (if desired)
16
+
* The ability to automatically expose HTTP paths on a WebLogic domain outside the Kubernetes domain with load balancing, and to update the load balancer when Managed Servers in the WebLogic domain are started or stopped
17
+
* The ability to scale a WebLogic domain 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
18
18
* The ability to publish Operator and WebLogic Server logs into ElasticSearch and interact with them in Kibana.
19
19
20
20
As part of Oracle’s ongoing commitment to open source in general, and to Kubernetes and the Cloud Native Computing Foundation specifically, Oracle has open sourced the Operator and is committed to enhancing it with additional features. Oracle welcomes feedback, issues, pull requests, and feature requests from the WebLogic community.
@@ -23,28 +23,28 @@ As part of Oracle’s ongoing commitment to open source in general, and to Kuber
23
23
24
24
In this documentation, several important terms are used and are intended to have a specific meaning.
25
25
26
-
## IMPORTANT TERMS USED IN THIS DOCUMENT
26
+
## Important terms used in this document
27
27
|Term | Definition |
28
28
| --- | --- |
29
-
| Cluster |Since 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. |
29
+
| 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. |
30
30
| Domain | A WebLogic domain is a group of related applications and resources along with the configuration information necessary to run them. |
31
31
| 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. |
32
-
| Namespace | A Kubernetes namespace is a named entity that can be used to group together related objects, e.g. pods and services. |
33
-
| Operator | A Kubernetes operator is a piece of software that performs management of complex applications. |
34
-
|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, e.g. a web server or database. |
32
+
| Namespace | A Kubernetes namespace is a named entity that can be used to group together related objects, for example, pods and services. |
33
+
| Operator | A Kubernetes operator is software that performs management of complex applications. |
34
+
|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. |
35
35
| Job | A Kubernetes job is a type of controller that creates one or more pods that run to completion to complete a specific task. |
36
36
| Secret | A Kubernetes secret is a named object that can store secret information like usernames, passwords, X.509 certificates, or any other arbitrary data. |
37
37
|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. |
38
38
39
-
# Getting Started
39
+
# Getting started
40
40
41
-
Before using the operator, it is highly recommended 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. It is also worth reading the details of the [Kubernetes RBAC definitions](site/rbac.md) required by the operator.
41
+
Before using the operator, it is highly recommended that you 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. It is also worth reading the details of the [Kubernetes RBAC definitions](site/rbac.md) required by the operator.
42
42
43
43
# Exposing applications outside the Kubernetes cluster
44
44
The operator can configure services to expose WebLogic applications and features outside of the Kubernetes cluster. Care should be taken when exposing anything externally to ensure that the appropriate security considerations are taken into account. There is no significant difference between a WebLogic domain running in a Kubernetes cluster and a domain running in a traditional data center in this regard. The same kinds of considerations should be taken into account, for example:
45
45
46
46
* Only expose those protocols and ports that need to be exposed.
47
-
* Use secure protocols (HTTPS, T3S, etc.).
47
+
* Use secure protocols (HTTPS, T3S, and such).
48
48
* Use custom channels to restrict the protocols that are exposed.
49
49
* Is load balancing required?
50
50
* Is certificate-based integrity needed?
@@ -68,12 +68,12 @@ The Oracle WebLogic Server Kubernetes Operator has the following requirements:
68
68
69
69
# Restrictions
70
70
71
-
The following features are not certified or supported in the technology preview release at the time of writing:
71
+
The following features are not certified or supported in the Technology Preview release at the time of writing:
72
72
73
73
* Whole Server Migration
74
74
* Consensus Leasing
75
75
* Node Manager (although it is used internally for the liveness probe and to start WebLogic Server instances)
76
-
* Dynamic domains (the current certification only covers configured clusters, certification of dynamic clusters is planned at a future date)
76
+
* Dynamic domains (the current certification only covers configured clusters; certification of dynamic clusters is planned at a future date)
77
77
* Multicast
78
78
* If using a `hostPath` persistent volume, then it must have read/write/many permissions for all container/pods in the WebLogic Server deployment
79
79
* Multitenancy
@@ -96,7 +96,7 @@ Documentation for APIs is provided here:
96
96
If you would rather see the developers demonstrating the operator rather than reading the documentation, then here are your videos:
97
97
98
98
*[Installing the operator](https://youtu.be/B5UmY2xAJnk) includes the installation and also shows using the operator's REST API.
99
-
*[Creating a WebLogic domain with the operator](https://youtu.be/Ey7o8ldKv9Y) shows creation of two WebLogic domains including accessing the Administration Console and looking at the various resources created in Kubernetes - services, Ingresses, pods, load balancers, etc.
99
+
*[Creating a WebLogic domain with the operator](https://youtu.be/Ey7o8ldKv9Y) shows the creation of two WebLogic domains including accessing the Administration Console and looking at the various resources created in Kubernetes - services, Ingresses, pods, load balancers, and such.
100
100
*[Deploying a web application, scaling a WebLogic cluster with the operator and verifying load balancing](https://youtu.be/hx4OPhNFNDM)
101
101
*[Using WLST against a domain running in Kubernetes](https://youtu.be/eY-KXEk8rI4) shows how to create a data source for an Oracle database that is also running in Kubernetes.
102
102
*[Scaling a WebLogic cluster with WLDF](https://youtu.be/Q8iZi2e9HvU)
@@ -106,7 +106,7 @@ Like what you see? Read on for all the nitty-gritty details...
106
106
107
107
## Installation
108
108
109
-
Before installing the Oracle WebLogic Server Kubernetes Operator, ensure that the requirements listed above are met. If you need help setting up a Kubernetes environment please check our [cheat sheets](site/k8s_setup.md).
109
+
Before installing the Oracle WebLogic Server Kubernetes Operator, ensure that the requirements listed above are met. If you need help setting up a Kubernetes environment, please check our [cheat sheets](site/k8s_setup.md).
110
110
111
111
The overall process of installing and configuring the operator and using it to manage WebLogic domains consists of the following steps. The provided scripts will perform most of these steps, but some must be performed manually:
112
112
@@ -146,7 +146,7 @@ When creating a domain, there is an option to expose a T3 channel outside of the
146
146
The operator provides the ability to scale up or down WebLogic clusters. There are several ways to initiate scaling, including:
147
147
148
148
* Updating the domain custom resource directly (using `kubectl`).
149
-
* Calling the operator's REST `scale` API, e.g. from `curl`.
149
+
* Calling the operator's REST `scale` API, for example, from `curl`.
150
150
* Using a WLDF policy rule and script action to call the operator's REST `scale` API.
151
151
* Using a Prometheus alert action to call the operator's REST `scale` API.
152
152
@@ -191,7 +191,7 @@ Replace `NAMESPACE` with the namespace that the operator is running in.
191
191
To remove more than one operator, repeat these steps for each operator namespace.
192
192
193
193
194
-
# Recent Changes
194
+
# Recent changes
195
195
196
196
See [Recent changes](site/recent-changes.md) for recent changes to the operator, including any backwards incompatible changes.
197
197
@@ -204,7 +204,7 @@ Please take a look at our [wish list](https://github.com/oracle/weblogic-kuberne
204
204
205
205
# Contributing to the operator
206
206
207
-
Oracle welcomes contributions to this project from anyone. Contributions may be reporting an issue with the operator, or submitting a pull request. Before embarking on significant development that may result in a large pull request, it is recommended to create an issue and discuss the proposed changes with the existing developers first.
207
+
Oracle welcomes contributions to this project from anyone. Contributions may be reporting an issue with the operator, or submitting a pull request. Before embarking on significant development that may result in a large pull request, it is recommended that you create an issue and discuss the proposed changes with the existing developers first.
208
208
209
209
If you want to submit a pull request to fix a bug or enhance an existing feature, please first open an issue and link to that issue when you submit your pull request.
0 commit comments