Guides → Install Incorta Developer Edition on VM in Google Cloud Platform

Deploy Incorta Developer Edition on VM

Get started by deploying Incorta on Google Cloud Platform (GCP) using a Virtual Machine (VM) instance and a Google Cloud Storage (GCS) bucket for your Incorta Tenant directory. The process uses Terraform to set up the environment and create all the needed resources. This approach allows you to speed up the installation process from hours to minutes.

Installation prerequisites

  • You must have an active GCP account, and your user must have permission to create the following resources.
    • VPC network and Subnet
    • External IP
    • Firewall rule
    • GCS bucket
    • Custom IAM Role
    • Service account and key
    • VM instance
Note

These permissions are only needed during environment setup and configuration.

Installation packages

  • Install the gcloud CLI
  • Install Terraform
  • Clone incorta-developer-edition github repository. Please contact the Incorta team to receive access.
  • Terraform files - Request these from your Incorta representative
    • outputs.tf: Defines the outputs of your Terraform setup
    • variables.tf: Contains the declarations for variables used in the configuration
    • vm.tf: Contains the configuration for the GCP Virtual Machine
    • network.tf: Contains the configuration for the GCP network components
    • provider.tf: Contains the configuration for the GCP provider
    • gcs-bucket.tf: Contains the configuration for the GCS Storage Bucket
    • variables.tfvars.example: An example variables file

Resources that need to be created

  • VPC network
  • Subnetwork
  • External IP
  • Firewall rules
  • Open ports 22, 6060, 8080
  • By default, the firewall resource range is 0.0.0.0/0 (configurable via var file)
  • GCS bucket
  • Custom IAM Role permission
["storage.buckets.get", "storage.objects.create", "storage.objects.get", "storage.objects.list","storage.objects.delete","storage.objects.getIamPolicy","storage.objects.setIamPolicy","storage.objects.update"]
  • Service account and key
    • Use Custom IAM Role to access GCS bucket
  • VM instance

Install the Virtual Machine

After cloning the incorta-developer-edition github repository, navigate to the gcp directory under incorta-developer-edition directory.

cd incorta-developer-edition/gcp/​​

Authenticate GCP account

You must authenticate your Google Cloud Platform (GCP) account to allow Terraform to interact with it. To do this, run the following command.

gcloud auth login

Follow the prompts to log in to your GCP account.

Configure your Incorta environment

The files under your gcp directory contain the configuration for the environment. Rename variables.tfvars.example to variables.tfvars and update it with your specific values.

vi variables.tfvars
project = "gcp-project-id"
provider-region = "us-central1"
provider-zone = "us-central1-f"
subnet-range = "10.0.0.0/8"
machine-type = "e2-standard-16"
private-key = "/home/ubuntu/.ssh/id_rsa"
public-key = "/home/ubuntu/.ssh/id_rsa.pub"
user = "ubuntu"
firewall-source-ranges = ["0.0.0.0/0"]
email = "admin@example.com"
environment-name = "example"​
#### Using exist VPC and Subnet #####
# if you want to use an exist VPC and Subnet , please update exist-vpc-name and exist-subnet-name with VPC and Subnet name
# if you want TF to create a new VPC and Subnet , please keep exist-vpc-name and exist-subnet-name empty
exist-vpc-name = ""
exist-subnet-name = ""

Initialize Terraform

Terraform needs to be initialized in your working directory. In the gcp directory containing the terraform files, run:

terraform init

This command initializes various local settings and data that will be used by subsequent commands.

Check the Terraform creation plan

To show the infrastructure creation plan, run the following:

terraform plan --var-file=variables.tfvars

Terraform will output the infrastructure plan and request a confirmation. If the command is successful, you can proceed to the next step to apply the configuration.

Apply the configuration

To create the infrastructure, run:

terraform apply --var-file=variables.tfvars

Terraform will output the proposed infrastructure plan and request a confirmation. Type yes to proceed. If the command is successful, Terraform will create the infrastructure.

Access the environment

After the infrastructure is created, Terraform will output the Incorta and CMC URLs. Your credentials will be in the outputs as well. Open a web browser and go to the Incorta Developer edition using the provided Incorta URL.

Terminate environment resources

To terminate the infrastructure, run:

terraform destroy --var-file=variables.tfvars

Configure memory allocation

Because the need for access to the Incorta UI is minimal in this use case, the allocation of resources may need to be modified. More resources should be given to the loader service since it is doing the majority of the work.

Here are recommendations for how to allocate resources with an Incorta server that has 128GB of RAM.

Allocated toAmount
Operating System8GB
Spark20GB

Loader

Allocated toAmount
On heap30GB
Off heap50GB
CPU50%

Analytics

Allocated toAmount
On heap5GB
Off heap15GB
CPU25%

If you are using a different sized server, use the above table as a guideline and allocate resources proportionately.