GCP-WEKA deployment Terraform package description
WEKA provides a ready-to-deploy GCP-WEKA deployment Terraform package you can customize to install the WEKA cluster on GCP.
The Terraform package contains the following modules:
setup_network: includes vpcs, subnets, peering, firewall, and health check.
service_account: includes the service account used for deployment with all necessary permissions.
deploy_weka: includes the actual WEKA deployment, instance template, cloud functions, workflows, job schedulers, secret manager, buckets, and health check.
shared_vpcs (optional): includes VPC sharing the WEKA deployment network with another hosting project. For example, when deploying a private network.
Refer to the terraform-gcp-weka module for more details.
GCP-WEKA deployment Terraform package supported types
The Terraform package supports the following deployment types:
Public cloud deployments: Require passing the
get.weka.io
token to Terraform to download the WEKA release from the public get.weka.io service. The following examples are provided:Public VPC
Public VPC with creating a worker pool
Public VPC with an existing public network
Public VPC with multiple clusters
Public VPC with a shared VPC
Public VPC with an existing worker pool and VPC
Private cloud deployments: Require placing the WEKA release tar file in a URL-accessible location for internal access (instances can download the WEKA release from this location). The following examples are provided:
Private VPC with creating a worker pool
Private VPC with an existing network
Private VPC with an existing worker pool and VPC
Private VPC with multiple clusters
Private VPC with a shared VPC
Terraform example
The following is a basic example where you provide minimal details about your cluster, and the Terraform module completes the remaining required resources, such as cluster size, machine type, and networking parameters.
This example can be used as a reference when creating the main.tf file for a c2-standard-8 with 4 VPCs.
For the descriptions of the parameters, refer to the GCP-WEKA deployment Terraform package.
This example can be used as a reference when creating the main.tf
file for a c2-standard-16 with 7 VPCs.
Private network considerations
To deploy a private network, the parameter private_network = true
on the setup_network
and deploy_weka
modules level.
Depending on the required network topology, the following parameters are optional for private networking:
To download the WEKA release from a local bucket, set the local bucket location in the
install_weka_url
parameter on thedeploy_weka
module level.For Centos7 only, a distributive repository is required to download kernel headers and additional build software. To auto-configure yum to use a distributive repository, run
yum_repo_server
.If a custom image is required, use
source_image_id
.
Object store integration
The Terraform package can automate the addition of a Google Cloud Storage bucket for use as object storage.
Procedure
In the
main.tf
file, add the following fields:tiering_enable_obs_integration:
Set the value totrue
.tiering_obs_name:
Match the value to an existing bucket in Google Cloud Storage.tiering_enable_ssd_percent:
Set the percentage to your desired value.
Example:
If you do not specify the name of an existing bucket using tiering_obs_name
but specify tiering_enable_obs_integration=true
then a new Cloud Storage bucket is created automatically.
The name format of the new bucket is:
<project_id>-<prefix>-<cluster_name>-obs