Oracle On Kunernetes with Portworx is a collection of example Kubernetes Manifest files to deliever Oracle on Kubernetes utilising Portworx storage
The examples has been tested on Kubernetes v1.21 but should also work on more recent Kubernetes versions.
$ kubectl version --short | awk -Fv '/Server Version: / {print $3}'
To determine Portworx version use kubectl
$ kubectl get StorageCluster -A
Alteratively use pxctl
export PX_POD=$(kubectl get pods -l name=portworx -n portworx -o jsonpath='{.items[0].metadata.name}')
alias pxctl='kubectl exec -n portworx ${PX_POD} -it -- /opt/pwx/bin/pxctl'
$ pxctl -v
Available version within the repository
- Oracle 12.2.0.1 EE
- Oracle 18.4.0.1 EX
- Oracle 19.3.0.0 EE
- Oracle 21.3.0.0 EE
- Install Portworx into your Kubernetes Cluster
- Pull this Repo
$ kubectl apply -f oracle-namespace.yaml
$ kubectl config set-context --current --namespace=oracle-namespace
Logon to the Oracle Container Registry (OCR) using SSO credentials
$ kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson -n oracle-namespace
$ kubectl create configmap oradb --from-env-file=oracle.properties -n oracle-namespace
$ kubectl apply -f px-ora-sc.yaml
$ kubectl apply -f 21c_statefulset_PX.yaml -n oracle-namespace
$ kubectl get services oracle21c -o jsonpath={.spec.ports[?(@.port==1521)].nodePort}
Ron Ekins, Principal Solutions Architect, Office of the CTO at Pure Storage
Oracle ACE Director
@ronekins
This module is available to use under the Apache 2.0 license, stipulated as follows:
Copyright 2018 Pure Storage, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Oracle OTN (https://www.oracle.com/downloads/#category-database)
Oracle Container Registry (https://container-registry.oracle.com)
Oracle Docker GitHub Repo (https://github.com/oracle/docker-images)
Kubernetes CSI Docs (https://kubernetes-csi.github.io/docs/)
Portworx Docs (https://docs.portworx.com/)