This lab demonstrates how to deploy and run Weblogic Domain container packaged Web Application on Kubernetes Cluster using Oracle WebLogic Server Kubernetes Operator 2.0.
The demo Web Application is a simple JSP page which shows WebLogic Domain's MBean attributes to demonstrate WebLogic Operator features.
Architecture
WebLogic domain can be located either in a persistent volume (PV) or in a Docker image. There are advantages to both approaches, and there are sometimes technical limitations of various cloud providers that may make one approach better suited to your needs.
This tutorial implements the Docker image with the WebLogic domain inside the image deployment. This means all the artefacts, domain related files are stored within the image. There is no central, shared domain folder from the pods. This is similar to the standard installation topology where you distribute your domain to different host to scale out Managed servers. The main difference is that using container packaged WebLogic Domain you don't need to use pack/unpack mechanism to distribute domain binaries and configuration files between multiple host.
In Kubernetes environment WebLogic Operator ensures that only one Admin and multiple Managed servers will run in the domain. An operator is an application-specific controller that extends Kubernetes to create, configure, and manage instances of complex applications. The Oracle WebLogic Server Kubernetes Operator (the "operator") simplifies the management and operation of WebLogic domains and deployments.
Helm is a framework that helps you manage Kubernetes applications, and helm charts help you define and install Helm applications into a Kubernetes cluster. Helm has two parts: a client (Helm) and a server (Tiller). Tiller runs inside of your Kubernetes cluster, and manages releases (installations) of your charts.
This tutorial has been tested on Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE).
- Oracle Cloud Infrastructure enabled account. The tutorial has been tested using Trial account (as of January, 2019).
- Desktop with Oracle Cloud Infrastructure CLI,
kubectl
,helm
. Download, import VirtualBox image (total required space: OVA + imported image < 7 GB) and run configuration script to get tested environment for this workshop.- If necessary first download VirtualBox desktop software.
!If your desktop can't run Virtualbox software or the image then follow this tutorial and setup Compute VM on Oracle Cloud Infrastructure what you can use as a remote development environment through ssh
.
Open a terminal window and execute the following configuration script to prepare your desktop environment (VirtualBox image).
bash <(curl -s https://raw.githubusercontent.com/nagypeter/vmcontrol/master/setup-operator-workshop.sh)
Close the terminal when the script has finished.
- Setup Oracle Kubernetes Engine instance on Oracle Cloud Infrastructure.
- Create Oracle Container Pipelines Application to Build Custom WebLogic Domain Image
- Install WebLogic Operator
- Install Traefik Software Loadbalancer
- Deploy WebLogic Domain
- Scaling WebLogic Cluster
- Override JDBC Datasource parameters
- Update Web Application
- Assigning WebLogic Pods to Nodes
- Assigning WebLogic Pods to Licensed Nodes