🧒
Sunbird ED
  • Learn
    • Overview for Sunbird ED
    • Functional Capabilities
      • Learning Apps
      • Asset Sourcing
      • Organised Collections
      • Discover Content - Digital & Phygital
      • User Engagement
      • Rich and diverse content
      • Versatile Question Bank
      • Observability
      • Launch Course
      • Verifiable Credentials
      • Multi-Channel Chatbot
      • Targeted Programs
      • Manage Learn
        • Overview
        • What is an entity?
        • What is a Program?
        • What is a Project?
        • What is Observation?
        • What is a Survey?
        • What is Observation as a task inside a Project?
    • Product and Developer's Guide
      • Learning apps
        • Workflows
          • Onboarding of Users
          • Discovery of Content
          • Play content
          • Track progress and Earn credentials
          • Interacting / Collaborating
      • Asset Sourcing
      • Organised Collections
      • Discover Content - Digital & Phygital
      • User Engagement
      • Rich and Diverse Content
      • Versatile Question Bank
      • Observability
      • Launch Courses
      • Verifiable Credentials
      • Multi-Channel Chatbot
      • Targeted Programs
      • Manage Learn
        • Overview
        • Component Diagram
        • ML Core Service
        • ML Project Service
        • ML Survey Service
        • ML Report Service
        • ML Analytics Service
    • Adopters
      • DIKSHA
    • Technical Architecture
      • Design Principles
      • Technical Architecture Diagram
      • Tech Stack
    • Roadmap
  • USE
    • Deployment Diagram
    • Deployment Artifacts
      • 4.10
      • 4.10.1, 4.10.2, 4.10.3, & 5.0
    • Installing ED Platform
      • release-4.10.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-5.0.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-5.1.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-5.2.0
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • release-6.0.0 (Draft)
        • Prerequisites for your own Sunbird ED Instance
        • Infra Provisioning
        • Jenkins Setup
        • Ansible Variables
        • Build
        • Post Install Steps
      • Sunbird ED Portal
      • Sunbird ED Mobile
      • Easy installer (Draft)
    • Updating Sunbird Releases
      • 4.10.1, 4.10.2, 4.10.3, & 5.0
      • 5.0.0 to 5.1.0
      • 5.1.0 to 5.2.0
      • 5.2.0 to 6.0.0 [Draft]
    • Learn More
      • Dependencies
      • Specifications
        • SOFIE
        • SOFIE Implementation
    • Releases
      • Release calendars
        • Release Calendar 4.9, 4.10, 5.0
        • Release calendar 5.0.1, 5.0.2, 5.0.3, 5.1.0 (major), 5.1.1, 5.1.2, 5.1.3 &5.2.0 (major)
        • Release Calendar 6.0.0
        • Release Calendar 7.0.0
      • Planned items
        • 4.9, 4.9.1, & 4.10(major)
        • 4.10.1, 4.10.2, 4.10.3, & 5.0(major)
        • 5.0.1, 5.0.2, 5.0.3 & 5.1 (major)
      • Release notes
        • 6.0.0 (Draft)
        • 5.2.0 (Latest)
          • Release-5.1.2
          • Release-5.1.1
        • 5.1.0
        • 5.0.0
        • 4.9.0, 4.9.1, 4.10.0
        • 4.7.0, 4.8.0
      • Release Artifacts
        • 4.10.1, 4.10.2, 4.10.3, & 5.0
        • 5.0.1, 5.0.2, 5.0.3, & 5.1
      • Demo of released items
    • Telemetry
      • Trackable Collection
    • Minimal forms
    • API's
  • Engage
    • Discuss
  • Contribute
    • Extend / Contribute to Sunbird
    • System Requirements
      • Learning Apps
    • Source Code
      • Architecture - Component Diagram
      • Developer Guide
        • Portal
          • Component Diagram
        • Desktop
          • Component Diagram
        • Mobile
          • Component Diagram
          • sunbird-mobile-sdk
          • Sunbird-mobile-app plugins
          • Configurations to setup mobile app
        • Form service
          • Component Diagram
          • Data model
          • API's
        • Manage Learn
          • ML Core Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Project Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Survey Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Report Service
            • Overview
            • User Flow Diagram
            • Component Diagram
            • Data Model
            • Folder Structure
            • API's
            • Deployment Overview
            • Local Service Setup Guide
          • ML Analytics Service
            • Overview
            • Component Diagram
            • Data Model
            • Setup Guide
              • ENV Variables ( Config.ini)
            • Ingestions
            • Folder Structure
            • Report creation and Updation Scripts
            • Deployment Overview
        • UI (User interface) Sunbird-Ed portal
          • Angular Material
          • Component Style Guide Version 1
            • Accordion
            • Buttons
            • Cards
            • Forms
            • Grid & Layout
            • Labels
            • Modals
            • Pagination
            • Rating
            • Search Box
            • Select Box
            • Tables
            • Tabs
            • Toast messages
            • Tooltip
            • Typography
          • SB-Styles: A Comprehensive Design Resource
          • SB-Themes Repository: Unifying Design Across Platforms
            • Classical Theme in Sunbird-Ed portal
            • Joyful Theme in Sunbird-Ed portal:
      • Reference Apps
      • Platform
    • Install Locally
      • SunbirdED Mobile
      • SunbirdED Portal
    • Configuration
      • SunbirdEd Portal
      • Sunbird Mobile
    • Independent Libraries
      • Common Consumption Components
      • SunbirdEd Forms
      • Sunbird Client Services
      • Sunbird Styles
      • Sunbird Themes
      • Sunbird Tag Manager
    • Issue tracker/ Create Issue
    • Contribute to ED
  • Misc
    • Templates
      • Upgrade Sunbird release document
      • Release Notes
    • Archived
      • High Level Capabilities
      • Workflows
      • Where Sunbird ED helps you
      • ED - Mobile App (going to archive)
        • 4.10.3 to 5.0.0
        • 5.0.0 to 5.1.0
      • Setting up Sunbird ED
      • Developer Documentation
      • API Reference Documentation
      • Detailed Documentation
      • Source Code
      • Actors & Actions
      • Detailed Capabilities
      • Data
      • Terminology
      • 5.1.0-hotfix (OCI )
  • Development Resources
    • Misc Pages
      • Portal - Manage Learn - Reports
      • App - Manage Learn - component diagram
        • Projects
        • Observation & Survey
        • Program
      • Portal - Manage Learn - component diagram
      • Mobile form configurations
      • Content Indexing Flow
      • What are multiple databases used for
      • Course completion, reports and certificate issue
      • How to access Flink UI
      • What are all the flink jobs for
      • How does data flow into Druid
      • Minimal build properties
  • Page 1
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. USE
  2. Installing ED Platform
  3. release-4.10.0

Infra Provisioning

PreviousPrerequisites for your own Sunbird ED InstanceNextJenkins Setup

Last updated 2 years ago

Was this helpful?

Automation on Azure infrastructure creation

You can run the following steps to create azure infrastructure using ansible.

Easiest way to use the script will be to use azure cloud shell, as the cloud shell comes with all prerequisites bundled.

  • login to portal.azure.com

  • click on the cloudshell -> select bash ( if you’re using it for the first time )

If you want to run this on your local machine, Follow this .

  git clone https://github.com/project-sunbird/sunbird-devops -b release-4.10.0
cd sunbird-devops/deploy
# Update the necessary variables in playbook
ansible-playbook -c local azure-provision.yaml
# Resulting infrastructure infromation will be stored in sunbird-devops/deploy/azure-resources.txt file.

Creating the AKS cluster

Note Follow the steps given below to create the Kubernetes cluster in Azure. For other clouds, please visit the respective cloud provider website The AKS cluster and VM’s should be in same vnet. If they are in different vnet, you have to peer the vnets. To successfully peer, the IP address of the vnets should not overlap.

  • Create a service principal and assign contributor role to service principal

  • Get the secrets and client id of service principal

  • Click for more details

  • Create the AKS cluster either via Azure portal or using az aks command line

  • Refer to Azure documentation for all the available options

  • Below is a sample command which you can use -

  az aks create --resource-group <resouse-group-name> --node-resource-group <k8s-resource-group-name> --name <cluster name>  --node-count 4 --admin-username deployer --kubernetes-version 1.19.9 --service-principal "<service principal id>" --node-vm-size Standard_D4s_v3 --client-secret "<client id>" --network-plugin azure --ssh-key-value @deployer.pub -l <region> --vm-set-type VirtualMachineScaleSets --vnet-subnet-id /subscriptions/<subscription id>/resourceGroups/<resouse-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet name>

Note: Ensure you have allocated at least 1024 IP’s for your Kubernetes subnet (CIDR notation as x.x.x.x/22)

Get the kubeconfig file for your cluster with the below command -

  az aks get-credentials --resource-group <resource group name> --name <cluster name> --file  k8s.yaml

Configuring the Azure storage account

  • Update the CORS rule for the storage account as follows:

      Allowed Origins: *
    Allowed Methods: GET,HEAD,OPTIONS, PUT
    Allowed Headers: Access-Control-Allow-Origin,Access-Control-Allow-Method,Origin,x-ms-meta-qq,x-ms-blob-type,x-ms-blob-content-type,Content-Type
    Exposed Headers: Access-Control-Allow-Origin,Access-Control-Allow-Methods
    Max Age: 200
  • Disable Secure transfer required in storage account configuration


guide
here