Deployment Manual

Database Deployment

PostgreSQL
  1. Search for PostgreSQL service in azure
  2. Deploy as a single server
  3. Specify Subscription, Resource group, Region, Admin username, and Admin password.
  4. Review and create a new database.
  5. Create a SQL table based on schema shown in the ER diagram below.
Elastic server
  1. Navigate to elastic.co
  2. Log in to the user account.
  3. Click on the create deployment and record the username and password of the elastic search deployment.
  4. Go to the elastic search deployment and upload the file to the elastic server.
  5. Run the “app_api” repository’s python file “elasticsearch_utils.py” that is located in the "source/controller/search_engine" in order to set the search algorithm.

Azure Docker Registry

  1. Search for Container registries service in azure
  2. Create a new registry
  3. Specify Subscription, Resource group, Region, registryname, and SKU
  4. Login to your registry using the following command
  5. docker login .azurecr.io
Frontend
  1. Build your docker image in the local device using the following command
  2. docker build -t .azurecr.io/ir_project_web:v1
  3. Push image to the azure docker registry using the following command
  4. docker push .azurecr.io/ir_project_web:v1
Backend
  1. Build your docker image in the local device using the following command
  2. docker build -t .azurecr.io/ir_project_app_api:v1
  3. Push image to the azure docker registry using the following command
  4. docker push .azurecr.io/ir_project_app_api:v1

Kubenetes cluster

Build cluster
  1. Clone Deployment from the organisation "COMP0016-IR-Noisy-documents"
  2. cd Deployment
  3. Search for the Kubernetes service.
  4. Create a Kubernetes cluster
  5. Specify Subscription, Resource group, Region and Kubernetes Version
  6. Specify Docker Container Registry created in the Azure Docker Registry step.
  7. Review and create
Deployment on the cluster
  1. Clone Deployment from the organisation "COMP0016-IR-Noisy-documents"
  2. cd Deployment
  3. Login to the cluster by going to the Kubenetes dashboard
    click on connect and type the command shown on the right side of the screenshot
  4. type command
  5. kubectl apply -f kube-config
  6. find the external ip address by searching for Public IP addresses service in the azure dashboard and choose the one starting with Kubenetes with the corresponding resource group
  7. navigate to the ip address to start using the deployed website