LogoLogo
1.1
1.1
  • 🏠Overview
  • 🏢Architecture
  • 📋Registration
    • Registration Interfaces
      • ODK Collect App
      • Self Service Portal
      • API Interface
      • Manual Entry
      • Bulk Export From CSV
    • ID Verification
    • Registry
  • 🅿️Program Management
    • Eligibility Assessment
    • Proxy Means Test
    • Enrolment
    • Deduplication
    • Program Cycles
    • Entitlement
    • Notifications
  • 💵Payments
    • Payment Modes
    • Payment Manager
    • Payment Batches
    • ID Account Mapper
    • Payment Rails
    • Reimbursements
      • Service Provider Portal
  • 🔐Privacy & Security
  • 📊Monitoring and Reporting
  • 🔧System Administration
    • Developer Mode
    • Role-Based Access Control
    • Internationalization (i18n)
    • Document Store
    • Apps
  • ⛓️Workflows
    • Cash grant scenario
    • Immediate Individual Assistance On-Demand
    • Service Provider Reimbursement
  • 🔗Integrations
    • M-PESA Integration
    • Mojaloop Integration
    • MOSIP Integration
      • ODK MTS Connector
      • Registry MTS Connector
      • Integration with e-Signet
  • 📦Releases
    • 1.1.0
      • Release Notes
  • ↔️REST API
  • ⚒️Testing
  • 👥Community
    • Contributing
    • Code of Conduct
  • 📗License
  • Guides
    • 📔How-To Guides
      • Install WireGuard Client on Desktop/Laptop
      • Install WireGuard Client on Android Device
      • Create User and Assign Role
      • Create a Custom Group
      • Create Program
      • Create Self-Service Portal Form
      • Map Self-Service Portal Form
      • Self Register Online
      • Integrate with MOSIP e-Signet
      • Create ODK Form
      • Provide Form Access to Field Agent
      • Download Form on ODK Collect
      • Register Offline
      • Create MTS Connector
        • Create ODK MTS Connector
        • Create OpenG2P Registry MTS Connector
      • Create Eligibility Manager Types
        • Create Default Eligibility Manager
        • Create ID Document Eligibility Manager
        • Create Phone Number Eligibility Manager
      • Create Eligibility Manager under Program
      • Configure Proxy Means Test
      • Enrol Registrants into Program
      • Configure ID Types
      • Create Deduplication Manager under Program
      • Create Deduplication Manager Types
        • Create ID Deduplication Manager
        • Create Phone Number Deduplication
      • Deduplicate Registrants
      • Create Notification Manager Types
        • Create SMS Notification Manager
        • Create Email Notification Manager
        • Create Fast2SMS Notification Manager
      • Create Notification Manager under Program
      • Send Notifications to Individual Registrants
      • Configure Program Manager under Program
      • Create and Approve Program Cycle
      • Multi-Stage Approval
      • Create Entitlement Voucher Template
      • Create Entitlement Manager Type
        • Create Default Entitlement Manager
        • Create Voucher Entitlement Manager
      • Configure Entitlement Manager under Program
      • Create Payment Manager Types
        • Create Payment Hub EE Payment Manager
        • Create Payment Interoperability Layer Payment Manager
        • Create Default Payment Manager
        • Create Cash Payment Manager
        • Create File Payment Manager
      • Configure Payment Manager in Program
      • Prepare and Send Payment
      • Install SmartScanner App
      • Submit Reimbursement Using the Service Provider Portal
      • Reimburse the service provider
    • 📙Documentation Guides
      • Creating Diagrams
      • OpenG2P Module Doc Template
      • Writing Guidelines For How-To Guides
    • 👩‍💻Developer Zone
      • Getting Started
      • Installing OpenG2P On Linux
      • Technology Stack
      • Modules
        • G2P Entitlement In-kind
        • G2P SelfServicePortal
        • OpenG2P Program Payment: G2P Connect Payment Manager
        • G2P Notifications: Wiserv SMS Service Provider
        • G2P Registry: Rest API
        • G2P Formio
        • G2P Registry: Base
        • G2P Registry: Individual
        • G2P: Proxy Means Test
    • 📘Deployment Guide
      • Deployment on Kubernetes
        • K8s Cluster Requirements
        • K8s Cluster Setup
        • Rancher Server Setup
        • NFS Server Setup
        • SSL Certificates using Letsencrypt
      • Post Install Configuration
      • Access to Deployed Setup
      • Packaging OpenG2P Docker
Powered by GitBook
LogoLogo

Copyright © OpenG2P. This work is licensed under Creative Common Attribution (CC-BY-4.0) International license unless otherwise noted.

On this page
  • Introduction
  • Prerequisites
  • Installation
  • PostgreSQL
  • OpenG2P
  • ODK
  • Minio
  • Keycloak
  • Kafka
  • Logging and Elasticsearch
  • Reporting
  1. Guides
  2. Deployment Guide

Deployment on Kubernetes

PreviousDeployment GuideNextK8s Cluster Requirements

Last updated 1 year ago

Introduction

The guide here provides instructions to deploy OpenG2P on Kubernetes (K8s) cluster.

Prerequisites

  • K8s cluster is set up as given .

  • The following utilities/tools must be present on the user's machine.

    • kubectl, istioctl, helm, jq, curl, wget, git, bash, envsubst.

Installation

Clone the repository, and continue the installation of each of the following components from the 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 directory (This doesn't include ):

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

PostgreSQL

  • Run:

    ./install.sh

OpenG2P

  • 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

ODK

  • Prerequisites:

    • PostgreSQL [REQUIRED]

  • Run the following to install ODK helm chart.

    ODK_HOSTNAME=odk.openg2p.sandbox.net \
        ./install.sh
    • openg2p/odk-central-backend:v2023.1.0
      openg2p/odk-central-frontend:v2023.1.0
      openg2p/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-create
      kubectl exec -it <service-pod> -- odk-cmd -u <email> user-promote

Minio

  • 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.

Keycloak

  • Run:

    OPENG2P_HOSTNAME=openg2p.sandbox.net
    KEYCLOAK_HOSTNAME=keycloak.openg2p.sandbox.net \
        ./install.sh

Kafka

  • Run:

    KAFKA_UI_HOSTNAME=kafka.openg2p.sandbox.net \
        ./install.sh

Logging and Elasticsearch

  • Run:

    KIBANA_HOSTNAME=kibana.openg2p.sandbox.net \
        ./install.sh

Reporting

  • 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.

Navigate to directory.

Packaged OpenG2P docker. . [Optional]

Navigate to directory.

Post installation: Refer to

Navigate to directory.

Note: The above helm chart uses the following docker images built from , since ODK Central doesn't provide pre-built docker images for these.

Navigate to directory.

Navigate to directory.

Navigate to directory.

Navigate to directory.

Clone .

Navigate to directory inside the above reporting repo.

Do the following to import the dashboards present in folder:

Import all files in folder.

📘
kubernetes/postgresql
Packaging Instructions
kubernetes/openg2p
Post Install Configuration
kubernetes/odk-central
https://github.com/getodk/central/tree/v2023.1.0
kubernetes/minio
kubernetes/keycloak
kubernetes/kafka
kubernetes/logging
https://github.com/OpenG2P/openg2p-reporting
scripts
dashboards
dashboards
here
https://github.com/openg2p/openg2p-deployment
kubernetes
kubernetes
Reporting