Code Monkey home page Code Monkey logo

apexords-operator's Introduction

Apexords-Operator in Kubernetes

This is operator to automate Apex Oracle Application Express 19.1 and Ords oracle rest data service via kubernetes CRD ,it creates a brand new Oracle 19c database statefulset,apex, ords deployment plus load balancer in the kubernetes cluster. This operator is using kubebuilder to create a framework. Tested in KIND and AWS EKS. It has upgraded with kubebuilder v3.1 controller-runtime v0.9.2 Golang 1.16.5

Preparation

Tasks in the operator

  • create Oracle 19c DB statefulset
  • install Apex 19.1 into the DB
  • install and configurate Ords into the DB
  • start http as sidecar for Ords
  • create loadbalancer for the Apex service

How to test on local machine

  • make install
  • make run
    • it will run controller locally while communicating with K8S master
    • all controller logs display on the screen
  • run below cmd
cat <<EOF | kubectl apply -f -
apiVersion: operator.apexords-operator/v1
kind: ApexOrds
metadata:
 name: apexords-apexdevords
spec:
 # Add fields here
 dbname: apexdevcdb
 dbservice: apexdevpdb
 ordsname: apexdevords
 # apexruntimeonly: True
EOF
  • kubectl get apexords

How to test in remote kubernetes cluster

  • make docker-build
  • make docker-push IMG="some-registry"/apexords-controller
  • Modify image locations on yaml files under config/default/
  • make deploy
  • run below cmd
cat <<EOF | kubectl apply -f -
apiVersion: operator.apexords-operator/v1
kind: ApexOrds
metadata:
 name: apexords-apexdevords
spec:
 # Add fields here
 dbname: apexdevcdb
 dbservice: apexdevpdb
 ordsname: apexdevords
 # apexruntimeonly: True
EOF
  • kubectl get po -n apexords-operator-system
    • find apexords controller pod
  • kubectl logs -f controller-pod-name -n apexords-operator-system
    • see controller logs of what happened include password infor
  • kubectl get apexords

How to login Apex instance

  • kubectl get svc
    • find nodeport or Loadbalancer IP or DNS details
    • open browser to access
    • workspace: internal
    • username: admin
    • password: find it in controller logs output

Clean up

  • kubectl delete apexords the-apexords-name
    • As we put owner reference for apexords , it will delete all related statefulesets, deployments,loadbalancer,configmap....etc
    • PV will not be deleted,thus Data won't be lost.

YouTube Demo:

YouTube Demo

apexords-operator's People

Contributors

henryxie1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

apexords-operator's Issues

Apex 21.2

Hi.

Is it possible to update this to the latest Apex release?

Thank you so much.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.