Developer Installation - macOS Ventura (x86)
This is a discussion of a non-production (developer desktop) installation on a macOS Ventura desktop.
Read the On-Premises documentation and ensure that your desktop meets the minimum system requirements.
To install Podman, process these commands:
brew install podman
PODMAN_VERSION=$(podman -v |awk '{print $NF}')
sudo /usr/local/Cellar/podman/${PODMAN_VERSION}/bin/podman-mac-helper install
podman machine init --cpus 4 --disk-size 60 --memory 8192 --rootful --now
podman system connection default podman-machine-default-root
The non-production installation provisions an Oracle database into the Kubernetes cluster. The images must be downloaded from Oracle Cloud Infrastructure Registry (Container Registry) before continuing.
-
Log in to the Container Registry. For example:
podman login container-registry.oracle.com
-
Pull the database image. For example:
podman pull container-registry.oracle.com/database/enterprise:21.3.0.0
-
Pull the ORDS image. For example:
podman pull container-registry.oracle.com/database/ords:21.4.2-gh
To install Minikube, process these commands:
brew install minikube
minikube config set driver podman
minikube start --cpus 4 --memory max --container-runtime=containerd
minikube addons enable ingress
If Minikube fails to start and returns this Failed kubeconfig update: could not read config
error, process this command and retry:
mv ~/.kube ~/.kube.bak
Download the latest version of Oracle Backend for Microservices and AI and unzip into a new directory.
To install Ansible, process these commands:
./setup_ansible.sh
source ./activate.env
Use the Helper Playbook to define the infrastructure. This Playbook also:
- Creates additional namespaces for the Container Registry and the database.
- Creates a private Container Registry in the Kubernetes cluster.
- Modifies the Microservices application to be desktop compatible.
Run this command:
ansible-playbook ansible/desktop_apply.yaml
In order to push the images to the Container Registry in the Kubernetes cluster, open a new terminal and start a tunnel by running this command:
minikube tunnel
To test access to the registry, process this command:
curl -X GET -k https://localhost:5000/v2/_catalog
This curl
command should result in the following:
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"registry","Class":"","Name":"catalog","Action":"*"}]}]}
Build and push the images to the Container Registry in the Kubernetes cluster by running this command:
ansible-playbook ansible/images_build.yaml
After the images are built and pushed, the tunnel is no longer required and can be stopped.
Deploy the database and Microservices by running this command:
ansible-playbook ansible/k8s_apply.yaml -t full
If you are behind a virtual private network (VPN) or proxy, see minikube VPN or Proxy for more details on additional tasks.