Why Kubernetes Operator for WebLogic ?

Tarun Ghai
3 min readOct 7, 2020

WebLogic, the renowned J2EE Application Server is a complex Application Server and has different set of servers like Admin Server, Managed Server to host the applications. Managing the life cycle operations of WebLogic Domain and Applications needs some efforts by Administrators. In order to take advantage of new age application deployment technology without any refactoring, we would want to deploy WebLogic domain and applications on Kubernetes Cluster like Oracle Kubernetes Engine.

We can possibly create individual pods for Admin Server and Managed servers and deploy these pods to Kubernetes cluster. We can scale the managed server pods using Kubectl commands. But we will need to manage all these different pods independently and there will be lot of heavy lifting that goes into managing this setup as one single application unit.

We can automate some of this work using StatefulSet but to be able to manage WebLogic domains and applications natively in Kubernetes we would need Kubernetes Operator for WebLogic.

Let us see what this means. Using Kubernetes Operator, we can create a new domain, scale up/down managed servers using plain Kubectl command.

In order to create a new pod in Kubernetes, we run below command.

— — -pod.yaml — — -

kubectl apply -f pod.yaml will create a new pod on OKE.

With Kubernetes Operator for WebLogic, we can create new WebLogic domain in a similar way.

— — -weblogicdomain.yaml — — -

Kubectl apply -f weblogicdomain.yaml will create a new WebLogic Domain with custom application deployed on it.

Please do note the new Kind — “Domain” in above yaml file. This new ‘Domain’ resources is what the WebLogic Operator gives us. This is the customer resource for WebLogic Domain.

So using Kubernetes Operator, the WebLogic Domain becomes native Kubernetes construct (called Custom Resource Definition) and a custom controller manages the state change and makes sure the Kubernetes cluster adheres to any changes in yaml file.

We can configure number of managed servers and scale them up or down any time. We can also upgrade new version of the application using Kubectl command and yaml file.

So essentially the Kubernetes Operator for WebLogic extends Kubernetes functionality with application specific logic using custom Kubernetes resources and application-specific custom Kubernetes controllers.

Please follow the step by step guide here to deploy WebLogic Applications on Kubernetes using The Operator.

https://nagypeter.github.io/weblogic-operator-tutorial/tutorials-io/domain.home.in.image.ocishell.io/?lab=introduction#AboutthisWorkshop

--

--