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
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.tfvarsproject = "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 emptyexist-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 to | Amount |
---|---|
Operating System | 8GB |
Spark | 20GB |
Loader
Allocated to | Amount |
---|---|
On heap | 30GB |
Off heap | 50GB |
CPU | 50% |
Analytics
Allocated to | Amount |
---|---|
On heap | 5GB |
Off heap | 15GB |
CPU | 25% |
If you are using a different sized server, use the above table as a guideline and allocate resources proportionately.