Applies to: Kyvos Enterprise Kyvos Cloud (SaaS on AWS) Kyvos AWS Marketplace
Kyvos Azure Marketplace Kyvos GCP Marketplace Kyvos Single Node Installation (Kyvos SNI)
...
Before you begin
In addition to the prerequisites, please ensure the following settings are enabled on your GCP project.
...
Aura tab collection | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOTE: You must leave this field blank if the parameter createVPC is set to true. | Keep the value of this enableVpcConnector
enableComponentGateway Set enableComponentGateway to true to get publicly accessible URL for Dataproc. sharedDataprocCluster Select true to use the shared Dataproc cluster. In this case, Kyvos will not manage the Dataproc cluster. Select false to use the on-demand Dataproc cluster. In this case, the Dataproc cluster will automatically start or stop. dataProcNetworkTags Provide a list of comma-separated network tags to be added on Dataproc cluster. enableSshFlag Set the value to true to enable SSH to the Dataproc cluster. enableLivy Set the value of Livy to True if using Dataproc version 2.1.11-debian11. masterInstanceCount The number of master nodes. For example, 1 masterInstanceType Instance type of master node (n2-highmem-4) masterInstanceVolumeType Type of the disk for master node (pd-ssd) workerInstanceCount The number of worker instances. workerInstanceType Instance type of worker node (n2-highmem-8) workerInstanceVolumeType Type of the disk for worker node (pd-ssd is recommended) enableDataProcMetastore Set the value as true to allow external Dataproc metastore. dataProcMetastoreProjectId If enable DataProcMetastore is set as true, provide the name of the metastore project ID. dataProcMetaStoreName Provide the name of the metastore name. dataProcVersion Supported version:
enableAutoScaling Set the value as true to enable the autoscaling of cluster nodes. existingAutoScalingPolicyName Provide the name of the existing autoscaling property, if any. secondaryWorkerMinInstanceCount Specify the number of minimum worker instances to be kept running while scaling. secondaryWorkerMaxInstanceCount Specify the number of maximum worker instances to be kept running while scaling. NOTE: Use this configuration only if enableAutoScaling is set as true. existingDataprocClusterName Enter the name of the existing Dataproc cluster. NOTE: Use these Configurations if you want to use the existing Dataproc and set the value of the parameter (createDataProc) to false. sshPrivateKeyDataproc The private key of existing Dataproc. NOTE: The private key should be base64 encoded dataprocUsername Name of the existing user. createServiceAccount Change the value to false if you want to use the existing Service Account. serviceAccountName Enter the service account name to be attached to all Kyvos Virtual Machines. secretManagerName Provide the name of the existing Secret Manager. secretManagerProjectId Provide the name of the Project ID in which the existing secret manager is created. customPrefixNameDataproc A prefix is to be added before the name of Dataproc. customPrefixNameBI A prefix is to be added before the name of BI virtual machines. customPrefixNameBIDisk A prefix is to be added before the name of BI Disks. customPrefixNameQE A prefix is to be added before the name of Query Engine virtual machines. customPrefixNameQEDisk A prefix is to be added before the name of Query Engine disks. customPrefixNameKM A prefix is to be added before the name of the Kyvos Manager virtual machine. customPrefixNameKMDataDisk A prefix is to be added before the name of the Kyvos Manager disk. zone The zone in which you want to deploy the resources. bucketName Enter the bucket name (if the bucket is not present, a new bucket would be created). kyvosWorkDir Provide the path of the Kyvos work directory. kyvosClusterName Name of the Kyvos cluster to be deployed. bundleAccessKey Key to access Kyvos bundle. bundleSecretKey The secret key for Kyvos bundle. sshPublicKey Text of the SSH public key for authentication. sshPrivateKey Enter the SSH private Key text of the pem file. NOTE: The text must be in base64 encoded. kyvosLicenseFileValue Enter a valid Kyvos license key. NOTE: It should be base64 encoded additionalLabels Labels to be added to the resources.
To create Dataproc for use with multiple build connections, use the multiple-build-cluster.tar file from the GCP Installation Files folder. In this case, use the dataproc-template.yaml file to create Dataproc.
In the dataproc-template.yaml file, provide information as: For bucketName parameter, mention the bucket name used in the Kyvos deployment. For serviceAccountName parameter, mention the service account used in Kyvos resources.
To create Dataproc for use with multiple build connections, use the multiple-build-cluster.tar file from the GCP Installation Files folder. In this case, use the dataproc-template.yaml
Navigate to the kyvosfile to create Dataproc.
In the dataproc-template.yaml file located in the GCP Installation Files and update the following parameters. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameter | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
createVPC | Set the value as true to create a new VPC. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customPrefixNameVPC | A custom prefix name for a VPC. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customPrefixNameSubNetwork | A custom prefix name for the subnetwork. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ipCidrRange | Enter the VPC CIDR range in which VPC will be created. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vpc | Enter the VPC within which you want to deploy the resources. NOTE: You must leave this field blank if the parameter createVPC is set to true. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vpcProjectId | Enter the Project ID of your VPC. NOTE: You must leave this field blank if the parameter createVPC is set to true. | subnetwork |
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note After filling all the required details in the dataproc-template.yaml file, run the following command: gcloud deployment-manager deployments create <Name of resources> --config dataproc-template.yaml |
Aura tab | ||||
---|---|---|---|---|
|
Parameter | Description | ||
---|---|---|---|
createVPC | Set the value as true to create a new VPC. | ||
customPrefixNameVPC | A custom prefix name for a VPC. | ||
customPrefixNameSubNetwork | A custom prefix name for the subnetwork. | ||
ipCidrRange | Enter the VPC CIDR range in which VPC will be created. | ||
vpc | Enter the VPC within which you want to deploy the resources. NOTE: You must leave this field blank if the parameter createVPC is set to true. | ||
createNetworkFirewall | To create firewall rules, set the value of this parameter to falsevpcProjectId | Enter the Project ID of your VPC. NOTE: If the value of You must leave this field blank if the parameter createVPC is set to true, firewall rules will be created unconditionally. | |
gkeSubnetName | Enter the name of an existing Subnet in which you subnetwork | Enter the subnetwork within your VPC. NOTE: You must leave this field blank if the parameter createVPC is set to true. | |
createNetworkFirewall | To create firewall rules, set the value of this parameter to false. NOTE: If the value of createVPC is set to true, firewall rules will be created unconditionally. | ||
gkeSubnetName | Enter the name of an existing Subnet in which you want to deploy GKE Cluster. If left blank subnetwork name will be used. | ||
secondaryRangeName1 | Enter the Secondary IPv4 ranges name for GKE Cluster creation. | secondaryRangeName2 | NOTE: This must be preconfigured if using an existing VPC. For more information, see Google documentation. |
secondaryRangeName2 | Enter the Secondary IPv4 ranges name for GKE Cluster creation. NOTE: This must be preconfigured if using an existing VPC. For more information, see Google documentation. | ||
enableVpcConnector | Keep the value of this parameter as false if the value of the parameter (createVPC) is true. | ||
vpcConnectorName | Enter the name of the VPC Connector to be used with GCP functions. | ||
kmCount | The number of Kyvos Manager instances to be launched. | ||
kmInstanceType | Instance type of Kyvos Manager (n2-standard-4). | ||
kmVolumeSizeGB | Size of the disk to be attached to the Kyvos Manager. | ||
kmBootScript startup-script | startup-script-km.sh | ||
kmSourceImage | Ubuntu- projects/dev-enterprises-273509/global/images/kyvos-ubuntu20-image-2023-11-072024-2 RHEL- projects/dev-enterprises-273509/global/images/kyvos-rhel-image-2023-5 | ||
webServerPublicIP | Change the value to true if public IP for the Web Server is needed. | ||
kmVolumeType | Type of the disk for KM (pd-ssd). | ||
hostNameBasedDeployment | Change the value to true to use the hostname for the cluster deployment. | ||
qeCount | The number of instances to be used as query engines. | ||
qeInstanceType | Instance type of query engine (n2-highmem-4). | ||
qeDataVolumeSizeGB | Size of the disk to be attached with query engines. | ||
qeCacheVolumeSizeGB | Size of the disk to be attached for the cache. | ||
qeCacheVolumeCount | The number of disks to be attached to the cache. | ||
qeCacheVolumeType | Type of the disk for cache storage (pd-ssd). | ||
biCount | Enter the number of instances to be used as the BI server. | ||
biInstanceType | Instance type of BI Server (n2-standard-8). | ||
biBootScript | startup-script-bi.sh | ||
sourceImage | Ubuntu: projects/dev-enterprises-273509/global/images/kyvos-ubuntu20-image-2023-11-072024-2 RHEL: projects/dev-enterprises-273509/global/images/kyvos-rhel-image-2023-5 | ||
biVolumeCount | The number of disks to be attached to the BI Server. | ||
biVolumeSizeGB | Size of the disk to be attached to the BI Server. | ||
biVolumeType | Type of the disk for BI server (pd-ssd) | ||
createGcpFunctions | Set the value as true to configure GCP Functions in Kyvos. | ||
createDataProc | Enter true to create Dataproc. | ||
dataprocMetastoreURI | Enter the Metastore URI if you want to deploy Kyvos with no Spark configuration. | ||
createGKE | Enter the value as True or False.
| ||
gkeWorkerInitialNodeCount | Enter the initial worker node count for the Kubernetes cluster. NOTE: The default value is 1. | ||
gkeWorkerInstancetype | Enter the worker node instance type for the Kubernetes cluster. NOTE: n2-highmemstandard-8 16 is the minimum configuration. Instance type smaller than this aren't supported. | ||
minWorkerNodeCount | Enter the minimum worker node count. | ||
maxWorkerNodeCount | Enter the maximum worker node count. | ||
createDataProc | Enter the value as True or False.
| ||
enableComponentGateway | Set the value of ‘enableComponentGateway’ to True to get publicly accessible URL for Dataproc. | ||
sharedDataprocCluster | Select true to use the shared Dataproc cluster. In this case, Kyvos will not manage the Dataproc cluster.Select false to use the on-demand Dataproc cluster. In this case, the Dataproc cluster will automatically start or stop. | ||
dataProcNetworkTags | Provide a list of comma-separated network tags to be added to the Dataproc cluster. Example: dataProcNetworkTags : ["abc","xyz"] | ||
enableSshFlag | Set the value to true to enable SSH to the Dataproc cluster. | ||
enableLivy | Set the value of Livy to True if using Dataproc version 2.1.11-debian11. | ||
masterInstanceCount | The number of master nodes. For example, 1 | ||
masterInstanceType | Instance type of master node (n2-highmem-4) | ||
masterInstanceVolumeType | Type of the disk for master node (pd-ssd) | ||
workerInstanceCount | The number of worker instances. | ||
workerInstanceType | Instance type of worker node (n2-highmem-8) | ||
workerInstanceVolumeType | Type of the disk for worker node (pd-ssd) | ||
enableDataProcMetastore | Set the value as true to allow external Dataproc metastore. | ||
dataProcMetastoreProjectId | If enable DataProcMetastore is set as true, provide the name of the metastore project ID. | ||
dataProcMetaStoreName | Provide the name of the metastore name. | ||
dataProcVersion | Supported version is 2.1.11-debian11 | ||
enableAutoScaling | Set the value as true to enable the autoscaling of cluster nodes. | ||
existingAutoScalingPolicyName | Provide the name of the existing autoscaling property, if any. | ||
secondaryWorkerMinInstanceCount | Specify the number of minimum worker instances to be kept running while scaling. | ||
secondaryWorkerMaxInstanceCount | Specify the number of maximum worker instances to be kept running while scaling. | ||
existingDataprocClusterName | Enter the name of the existing Dataproc cluster. NOTE: Use these Configurations if you want to use the existing Dataproc and set the value of the parameter (createDataProc) to false. | ||
sshPrivateKeyDataproc | The private key of existing Dataproc. NOTE: The private key should be base64 encoded | ||
dataprocUsername | Name of the user. | ||
createServiceAccount | Change the value to false if you want to use the existing Service Account. | ||
serviceAccountName | Enter the service account name to be attached to all Kyvos Virtual Machines. | ||
secretManagerName | Provide the name of the existing Secret Manager. | ||
secretManagerProjectId | Provide the name of the Project ID in which the existing secret manager is created. | ||
customPrefixNameDataproc | A prefix is to be added before the name of Dataproc. | ||
customPrefixNameBIcustomPrefixNameGKE | A prefix is to be added added before GKE. | ||
customPrefixNameBI | A prefix is to be added before the name of BI virtual machines. | ||
customPrefixNameBIDisk | A prefix is to be added before the name of BI Disks. | ||
customPrefixNameQE | A prefix is to be added before the name of Query Engine virtual machines. | ||
customPrefixNameQEDisk | A prefix is to be added before the name of Query Engine disks. | ||
customPrefixNameKM | A prefix is to be added before the name of the Kyvos Manager virtual machine. | ||
customPrefixNameKMDataDisk | A prefix is to be added before the name of the Kyvos Manager disk. | ||
zone | The zone in which you want to deploy the resources. | ||
bucketName | Enter the bucket name (if the bucket is not present, a new bucket would be created). | ||
kyvosWorkDir | Provide the path of the Kyvos work directory. | ||
kyvosClusterName | Name of the Kyvos cluster to be deployed. | ||
bundleAccessKey | Key to access Kyvos bundle. | ||
bundleSecretKey | The secret key for Kyvos bundle. | ||
sshPublicKey | Text of the SSH public key for authentication. | ||
sshPrivateKey | Enter the SSH private Key text of the pem file. NOTE: The text must be in base64 encoded. | ||
kyvosLicenseFileValue | Enter a valid Kyvos license key. NOTE: It should be base64 encoded | ||
additionalLabels | Labels to be added to the resources. |
Using existing Service Account
Once resources are created, execute the following commands using the gcloud CLI to link the Kubernetes Service account to the IAM Service account.
gcloud iam service-accounts add-iam-policy-binding IAM_SA_NAME@IAM_SA_PROJECT_ID.iam.gserviceaccount.com --role roles/iam.workloadIdentityUser --member "serviceAccount:PROJECT_ID.svc.id.goog[kyvos-monitoring/default]"
gcloud iam service-accounts add-iam-policy-binding IAM_SA_NAME@IAM_SA_PROJECT_ID.iam.gserviceaccount.com --role roles/iam.workloadIdentityUser --member "serviceAccount:PROJECT_ID.svc.id.goog[kyvos-compute/default]"
In the above-mentioned commands, replace the following:
IAM_SA_NAME: The name of your new IAM service account.
IAM_SA_PROJECT_ID: The project ID of your IAM service account.
PROJECT_ID: The project ID of your Google Cloud.
Tip |
---|
Tip If you encounter any issue while processing the semantic model through Kubernetes, you cab debug the issue. For more details about debugging, see the Kubernetes documentation. |
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note
|
Deploying resources
To deploy your resources, use the gcloud command-line tool and execute the kyvos-deployment.sh file (provided in GCP installation files)
If the deployment is successful, you will receive a message like the following example
Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.NAME TYPE STATE ERRORSquickstart-deployment compute.v1.instance COMPLETED -
whereas,
NAME:<resource_name>
TYPE: compute.v1.disk
STATE: COMPLETED
Check your new deployment
To check the status of the deployment, run the following command
gcloud deployment-manager deployments describe <resource name>
...
|
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note
|
Deploying resources
To deploy your resources, use the gcloud command-line tool and execute the kyvos-deployment.sh file (provided in GCP installation files)
If the deployment is successful, you will receive a message like the following example
Create operation operation-1432319707382-516afeb5d00f1-b864f0e7-b7103978 completed successfully.NAME TYPE STATE ERRORSquickstart-deployment compute.v1.instance COMPLETED -
whereas,
NAME:<resource_name>
TYPE: compute.v1.disk
STATE: COMPLETED
Check your new deployment
To check the status of the deployment, run the following command
Code Block |
---|
gcloud deployment-manager deployments describe <resource name> |
A new bucket will be created for the Dataproc cluster.
Using existing Service Account
Once Kyvos resources are created using Kubernetes, execute the following commands using the gcloud CLI to link the Kubernetes Service account to the IAM Service account.
gcloud iam service-accounts add-iam-policy-binding IAM_SA_NAME@IAM_SA_PROJECT_ID.iam.gserviceaccount.com --role roles/iam.workloadIdentityUser --member "serviceAccount:PROJECT_ID.svc.id.goog[kyvos-monitoring/default]"
gcloud iam service-accounts add-iam-policy-binding IAM_SA_NAME@IAM_SA_PROJECT_ID.iam.gserviceaccount.com --role roles/iam.workloadIdentityUser --member "serviceAccount:PROJECT_ID.svc.id.goog[kyvos-compute/default]"
In the above-mentioned commands, replace the following:
IAM_SA_NAME: The name of your new IAM service account.
IAM_SA_PROJECT_ID: The project ID of your IAM service account.
PROJECT_ID: The project ID of your Google Cloud.
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Note After creating resources using scripts, the configuration of the Kyvos GCP cluster on Kyvos Manager is no longer needed. Once the resources are successfully created, deployment of the Kyvos cluster will commence automatically on logging into the Kyvos Manager portal. |
...