Proactive insights, news and tips from Oracle WebLogic Server Support. Learn Oracle from Oracle.

WebLogic Kubernetes Operator Image Now Available in Docker Hub

Monica Riccelli
Product Manager

To facilitate the management of Oracle WebLogic Server domains in Kubernetes, we have made available the WebLogic Server Kubernetes Operator images in the Docker Hub repository, https://hub.docker.com/r/oracle/weblogic-kubernetes-operator/.

In this repository, we provide several WebLogic Kubernetes Operator images:

  • Version 1.0 and latest. The general availability version of the operator.
  • Version develop. The latest pre-released version of the operator image.


The open source code and documentation for the WebLogic Kubernetes Operator can be found in the GitHub repository, https://github.com/oracle/weblogic-kubernetes-operator.

The WebLogic Server Kubernetes Operator uses the standard Oracle WebLogic Server Docker image from the Docker store. It treats this image as immutable and all of the state is persisted in a Kubernetes persistent volume. This allows us to treat all of the pods as throwaway and replaceable, and it completely eliminates the need to manage state written into Docker containers.


Get Started

The Oracle WebLogic Server Kubernetes Operator has the following requirements:

  • Kubernetes 1.7.5+, 1.8.0+, 1.9.0+, 1.10.0 (check with kubectl version).
  • Flannel networking v0.9.1-amd64 (check with docker images | grep flannel)
  • Docker 17.03.1.ce (check with docker version)
  • Oracle WebLogic Server

To obtain the WebLogic Kubernetes Operator image from Docker Hub, run:

$ docker pull oracle/weblogic-kubernetes-operator:1.0

Customize the operator parameters file

The operator is deployed with the provided installation script, kubernetes/create-weblogic-operator.sh. The input to this script is the file, kubernetes/create-operator-inputs.yaml, which needs to be updated to reflect the target environment. Parameters must be provided in the input file. For a description of each parameter, see https://github.com/oracle/weblogic-kubernetes-operator/blob/master/site/installation.md.

Decide which REST configuration to use

The operator provides three REST certificate options:

  • none  Disables the REST server.
  • self-signed-cert  Generates self-signed certificates.
  • custom-cert  Provides a mechanism to provide certificates that were created and signed by some other means.

Decide which options to enable

The operator provides some optional features that can be enabled in the configuration file.

Load balancing with an Ingress controller or a web server

You can choose a load balancer provider for your WebLogic domains running in a Kubernetes cluster. Please refer to Load balancing with Voyager/HAProxy, Load balancing with Traefik, and Load balancing with the Apache HTTP Server for information about the current capabilities and setup instructions for each of the supported load balancers.

Note these limitations:

  • Only HTTP(S) is supported. Other protocols are not supported.
  • A root path rule is created for each cluster. Rules based on the DNS name, or on URL paths other than ‘/’, are not supported.
  • No non-default configuration of the load balancer is performed in this release. The default configuration gives round-robin routing and WebLogic Server will provide cookie-based session affinity.

Note that Ingresses are not created for servers that are not part of a WebLogic Server cluster, including the Administration Server. Such servers are exposed externally using NodePort services.

Log integration with Elastic Stack

The operator can install the Elastic Stack and publish its logs to it. If enabled, Elasticsearch and Kibana will be installed in the default namespace, and a Logstash container will be created in the operator pod. Logstash will be configured to publish the operator’s logs to Elasticsearch, and the log data will be available for visualization and analysis in Kibana.

To enable the ELK integration, set the enableELKintegration option to true. 

Deploying the operator to a Kubernetes cluster

To deploy the operator, run the deployment script and give it the location of your inputs file,
./create-weblogic-operator.sh –i /path/to/create-operator-inputs.yaml.

What the script does

The script will carry out the following actions:

  • A set of Kubernetes YAML files will be created from the inputs provided.
  • A namespace will be created for the operator.
  • A service account will be created in that namespace.
  • If Elastic Stack integration was enabled, a persistent volume for the Elastic Stack will be created.
  • A set of RBAC roles and bindings will be created.
  • The operator will be deployed.
  • If requested, the load balancer will be deployed.
  • If requested, Elastic Stack will be deployed and Logstash will be configured for the operator’s logs.

The script will validate each action before it proceeds.
This will deploy the operator in your Kubernetes cluster. Please refer to the documentation for next steps including using the REST services, creating a WebLogic Server domain, starting a domain, and so on.

Our future plans include, enhancements to the WebLogic Server Kubernetes Operator which can manage a WebLogic domain inside a Docker image as well as on a persistent volume. Enhancements to add CI/CD of WebLogic deployments on Kubernetes with Oracle Container Pipelines, and new features and enhancements over time. Please stay tuned for more information. We hope this announcement is helpful to those of you seeking to deploy WebLogic Server on Kubernetes, and look forward to your feedback.


Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.