Sign inSign up

fmwplt/weblogic-operator

By fmwplt

•Updated almost 9 years ago

Image
1

2.3K

fmwplt/weblogic-operator repository overview

This repository contains a Proof of Concept for a Kubernetes Operator for WebLogic.

Please refer to the project wiki⁠ for more information.

Pre-requisites

minikube 1.7
git                                             #Git (with bash) for Windows v2.14 
                                                (support many linux commands)
go 1.9
dep                                             #Dependency Management 
                                                (go get -u github.com/golang/dep/cmd/dep)
make                                            #MinGW Make for Windows

Start minikube and export docker env

minikube start
eval $(minikube docker-env --shell=bash)
docker login

Build weblogic-operator

#Clone the source into $GOPATH/src/weblogic-operator

make clean
make vendor                                     #Uses dep to populate vendors
make build

Create weblogic-operator image and push

make image
make push                                       #Pushes to docker.io/fmwplt/weblogic-operator

Create Secret to be used for pulling WebLogic image from registry

kubectl create secret docker-registry weblogic-docker-store --docker-server=docker.io \
--docker-username=YOUR_USERNAME --docker-password=YOUR_PASSWORD --docker-email=YOUR_EMAIL

Create CRD's of type WebLogicDomain and WebLogicManagedServer into k8s

kubectl apply -f manifests/weblogic-crd.yaml    #Creates custom object of type WebLogicDomain and WebLogicManagedServer

Configure Persistant Volume Storage

# Currently uses hostPath type. Host folder used is /scratch
# In Windows/VirtualBox, modify the minikube machine to add a new shared volume to any location in host and
specify it to be mount as /scratch.  
  
kubectl apply -f manifests/persistant-volume.yaml

Deploy weblogic-operator into k8s

kubectl apply -f manifests/weblogic-operator.yaml
kubectl -n weblogic-operator get pods

Create objects of type WebLogicDomain

#Domain will be created in persistant volume with managed servers named as managedserver-0...n and starts AdminServer
#Default credentials used are weblogic/welcome1.  
  
kubectl apply -f examples/domain.yaml
kubectl get weblogicdomains,services

Create objects of type WebLogicManagedServer

#Domain created in persistant volume will be used
#Next available server is calculated from $DOMAIN_HOME/serverList.json and starts the requested no:of servers
#Default credentials used are weblogic/welcome1.  
  
kubectl apply -f examples/server.yaml
kubectl get weblogicservers,services

Sample Operations

kubectl delete weblogicmanagedserver seconddomain-ms
kubectl delete weblogicdomain seconddomain
  
---Scale up firstdomain  
---Scale down firstdomain  

Delete objects of type WebLogicManagedServer

kubectl delete weblogicmanagedserver firstdomain-ms

Delete objects of type WebLogicDomain

kubectl delete weblogicdomain firstdomain

Cleanup

kubectl delete weblogicmanagedservers --all
kubectl delete weblogicdomains --all
kubectl delete deployment weblogic-operator

Tag summary

Content type

Image

Digest

Size

88.3 MB

Last updated

almost 9 years ago

docker pull fmwplt/weblogic-operator