Deployment on Kubernetes
The guide here provides instructions to deploy OpenG2P on Kubernetes (K8s) cluster.
- The following utilities/tools must be present on the user's machine.
kubectl
,istioctl
,helm
,jq
,curl
,wget
,git
,bash
,envsubst
.
Clone the https://github.com/openg2p/openg2p-deployment repository, and continue the installation of each of the following components from the kubernetes directory.
Choose and install the components needed for your cluster from the following. If you wish to install all the components below, run this from the kubernetes directory (This doesn't include Reporting):
OPENG2P_HOSTNAME=openg2p.sandbox.net \
ODK_HOSTNAME=odk.openg2p.sandbox.net \
KEYCLOAK_HOSTNAME=keycloak.openg2p.sandbox.net \
KAFKA_UI_HOSTNAME=kafka.openg2p.sandbox.net \
KIBANA_HOSTNAME=kibana.openg2p.sandbox.net \
MINIO_HOSTNAME=minio.openg2p.sandbox.net \
./install-all.sh
- Run:./install.sh
- Prerequisites:
- PostgreSQL [REQUIRED]
- Minio [Optional]
- ODK [Optional]
- Run: (This installs the reference package dockers)OPENG2P_HOSTNAME=openg2p.sandbox.net \./install.sh
- If use already have a custom packaged docker image or tag use:OPENG2P_HOSTNAME=openg2p.sandbox.net \OPENG2P_ODOO_IMAGE_REPO=<docker image name> \OPENG2P_ODOO_IMAGE_TAG=<docker image tag> \./install.sh
- Prerequisites:
- PostgreSQL [REQUIRED]
- Run the following to install ODK helm chart.ODK_HOSTNAME=odk.openg2p.sandbox.net \./install.sh
- Note: The above helm chart uses the following docker images built from https://github.com/getodk/central/tree/v2023.1.0, since ODK Central doesn't provide pre-built docker images for these.openg2p/odk-central-backend:v2023.1.0openg2p/odk-central-frontend:v2023.1.0openg2p/odk-central-enketo:v2023.1.0
- Post-installation:
- Exec into the service pod, and create a user (and promote if required).kubectl exec -it <service-pod> -- odk-cmd -u <email> user-createkubectl exec -it <service-pod> -- odk-cmd -u <email> user-promote
- Run:MINIO_HOSTNAME=minio.openg2p.sandbox.net \./install.sh
- Post-installation:
- Once OpenG2P is installed, do the following:
- Navigate to OpenG2P Documents (From OpenG2P Menu) -> Document Store.
- Configure URL and password for this backend service (Like
http://minio.minio:9000
). Password and account-id/username can be obtained from the secrets in minio namespace.
- Run:OPENG2P_HOSTNAME=openg2p.sandbox.netKEYCLOAK_HOSTNAME=keycloak.openg2p.sandbox.net \./install.sh
- Run:KAFKA_UI_HOSTNAME=kafka.openg2p.sandbox.net \./install.sh
- Run:KIBANA_HOSTNAME=kibana.openg2p.sandbox.net \./install.sh
- Prerequisites:
- Kafka [REQUIRED]
- PostgreSQL [REQUIRED]
- OpenG2P [REQUIRED]
- Logging [REQUIRED]. (At least Elasticsearch is required)
- Run the following to install reporting./install.sh
- Navigate to Kibana Stack Management -> Kibana Section -> Saved Objects.
Last modified 1mo ago