Document toolboxDocument toolbox

Creating ARM Template for Automated Azure Deployment

Applies to: Kyvos Enterprise  Kyvos Cloud (SaaS on AWS) Kyvos AWS Marketplace

Kyvos Azure Marketplace   Kyvos GCP Marketplace Kyvos Single Node Installation (Kyvos SNI)


To create Kyvos resources for creating an ARM template for use in automated deployment, perform the following steps.

Note

To create a Kyvos Manager node, go to metadata.json file in the <install dir>/kyvosmanager/cloud/azure/templates folder and set the value for showKMNode as true.

The Managed Identity attached to the Kyvos Manager node must have reader rights on the Resource Group to create an ARM template for Azure automated deployment.

  1. Access the Kyvos Installer using the URL and credentials provided by the Kyvos Support Team or use the default credentials admin | admin. If you do not have the URL, click here to contact support.

  2. To create resources for installing Kyvos services like BI Server and Query Engine on the Azure environment, select the I want to create resources option on the Kyvos Installer page.

  3. Click Create Resources. This displays the Create Resources wizard.

  4. Here, select the services for which you want to create resources and provide information as:

Note

Resources will be created only for selected services. If you have pre-created resources for any of the services, you can uncheck them and configure them while installing Kyvos.

Parameter/Field

Remarks/Description

Parameter/Field

Remarks/Description

Create VNET

Select this checkbox to create a new virtual network with the deployment. 
NOTE: All the required network resources, such as Virtual Network, Subnets, and Network Security Group will be created. 

Create Security Group

Select this checkbox to create a new Network Security Group with the deployment. 

Virtual machine(s) for BI Server

You cannot clear this check box. Here define:

  • Number of Node(s)

  • Instance Type

Virtual machine(s) for Query Engine

Select this option to create virtual machines for Kyvos Query Engines, and define:

  • Number of Node(s)

  • Instance Type

  • Storage Disk

  • Disk Type

Web portal high availability

Select to enable Kyvos web portal high availability.
If you select this, you need to provide the following:

  • Number of nodes

  • Instance Type

  • Subnet for Load Balancer - Currently, only Public is supported.

Virtual machine for Kyvos Manager

Select this option to launch a virtual machine for Kyvos Manager, and select the Instance Type from the list. 
NOTE: This option will be displayed only in the case of automated deployment.

  • When using a multi-tenant environment, you can use the  Deploy as Tenant checkbox to define a tenant instance for Kyvos Manager. Enable this option to deploy the cluster as a tenant. If enabled, you will see an input for the Management Console URL in the Template parameters, which manages all the tenants.

  • Select any one of the following Repository: 

    • Bundled Postgres : To select bundled Postgres as a repository for Kyvos Manager. 

    • Create New Azure Postgres : To create a new external Azure Postgres repository for Kyvos Manager. 

    • Use Existing Azure Postgres : To use the existing external Azure Postgres repository for Kyvos Manager. 

External Repository for Kyvos

Select to create a PostgreSQL-based repository using Azure. Otherwise, the pre-bundled PostgreSQL-based Kyvos repository will be used.

  • Select any one of the following Repository: 

    • Bundled Postgres : To select bundled Postgres as a repository for Kyvos Manager. 

    • Create New Azure Postgres : To create a new external Azure Postgres repository for Kyvos Manager. 

    • Use Existing Azure Postgres : To use the existing external Azure Postgres repository for Kyvos Manager.

Create Storage Account

Select this option to create ABFS Account and Container for storing Kyvos output, and define:

  • Storage Name Prefix

  • Container Name Prefix

Compute cluster

Select one of the following options from the Compute Cluster Type list.

  • Databricks: To deploy Kyvos using Azure databricks.

  • Kyvos Native: To deploy Kyvos using Kubernetes.

NOTE: If you select the Kyvos Native option from the Compute Cluster Type list, you will see the Kyvos Native Type.

  • Kyvos Native Type: Select Kubernetes or Shared Query Engine.

Enhance Storage Account High Availability

Select this checkbox to create Zone-Redundant Storage (ZRS).

Kyvos cluster and Databricks cluster will be in same network or in peered network

Select this checkbox if your Kyvos cluster nodes and Databricks cluster are either in the same network or shared using VPC peering. 

NOTE: If this checkbox is not selected, an API gateway method will be created and used for communication between the Databricks cluster and Kyvos BI Server. 

Kyvos Cluster Deployment with Load Balancer 

The checkbox is selected by default if Web Portal high availability is enabled, or if a non-peered network exists between Kyvos and Databricks, the Kyvos cluster will be deployed with a load balancer.

NOTE: If Web Portal high availability is not enabled, or if a peered network exists between Kyvos and Databricks, the Kyvos cluster will not be deployed with a load balancer. In this case, the checkbox is selected, but you can also clear it as per the requirement. 

Use Custom Image

Select this option to use a custom image of your environment for deploying the Kyvos cluster. Custom images can be used to bootstrap deployment tasks like preloading applications, application configurations, and other configurations. 
You will have to provide information for Gallery Name, Gallery Image Definition Name, and Gallery Image Version Name at the time of deploying the cluster through the ARM template.

NOTE:

  • To use your custom image, templates named bi_custom.json, qe_custom.json, and km_custom.json must exist at $KYVOS_MANAGER_HOME/cloud/azure/templates/ location.

  • For using Custom Image, Kyvos supports using only customer-provided Images for CentOS 7, RHEL 7, and RHEL 8.   

    • Python 2 is required as a prerequisite for CentOS 7 and RedHat 7 Images  

    • Python 3 is required as a prerequisite for RedHat 8 AMIs and CentOS 8 Images  

  • To ensure proper functionality of Kyvos Manager and Kyvos, all required operating system commands must be present in the Custom Image machine.
    See the  OS commands  section for more details.

Deploy with Enhanced Security

Enhanced security enables advanced security for Storage Accounts, Key Vaults, and Virtual machines.

Credit Based Deployment

Select this option if you want to use credit-based licensing and your environment does not have pre-created credit information-related resources.

Databricks Authentication 

Select the authentication type for the Databricks cluster from:

  • AAD Token Using Managed Identity: This option is supported only with premium workspace.

  • Personal Access Token

NOTE: Post deployment of the cluster, you can change the Databricks Authentication type from the Databricks page on Kyvos Manager.

  • W hen switching from AAD to PAT, you need to provide personal access token, which is saved as a secret in your Azure Key Vault and is read from there for authentication purposes. For this:

    • Go to Key Vault Secret.

    • Add  KYVOS -DATABRICKS-SERVICE-TOKEN-DefaultHadoopCluster01 and provide DB token value and click Save.

  • When switching from AAD to PAT, you need to Configure Managed Identity in Azure Databricks .

Release Type Preferences

Select Kyvos Release as General Availability (GA) and Alpha.

  1. Click Next. The Review and Download Template dialog box is displayed with details of all the settings that you selected.

  2. Review all the settings, and click the BACK button if you want to make any changes.

Note

Function Deployment will always be created with the cluster resources being created to enable scheduling feature in the cluster.

  1. To continue, click the Download Template button to download the Azure resources template.

  2. Click the Open Azure Resource Manager link to access the Azure portal to upload this template to your Azure environment to create resources.

  3. Sign in to your Azure account having requisite permissions, as mentioned in the prerequisites.

  4. On the Custom Deployment page, click the Process your own template in the editor option.

  5. On the Edit Template page, click Load File, and upload your template. The Template is loaded.

  6. Click Save.

  7. The Deployment page is loaded with parameters required for deployment.

    Fields marked * are mandatory.

Parameter 

Description 

Parameter 

Description 

Subscription* 

Your account subscription. 

Resource Group* 

Enter the name of your resource group. The resource group is a collection of resources that share the same lifecycle, permissions, and policies. 

Region* 

Azure region that's right for you and your customers. Not every resource is available in every region. 

vnetAddress

Enter the CIDR notation for the new VPC that will be created in the deployment.
NOTE: This option is displayed only when the CreateVPC option is selected.
If a new VPC is created and you have enabled WebPortal HA (from the Kyvos Manager), then you must perform the post deployment steps after deploying the cluster.

NetworkSecurityGroupIpWhiteList

Provide the range of IP addresses allowed to access Kyvos Instances. Use 0.0.0.0/0 to allow all users access.

NOTE: This parameter is displayed only when a new network security group is created within the deployment. 

Virtual Network Name* 

Name of Virtual Network in which your VMs will run. 

App Service Plan Name 

Name of the service plan which is being used for the deployment. If left blank it will be created automatically. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

VM Subnet Name* 

Name of Subnet in which your VMs will run. This Subnet should be part of the above Virtual Network. 

Kubernetes Subnet Name

Name of the subnet in which Azure Kubernetes Service (AKS) will be created. The subnet must be part of the specified Virtual Network and be a separate /23 subnet specifically for AKS.

ApplicationGatewaySubnetName *  

Name of the Subnet in which Application Gateway will be created. The Subnet should be part of the above Virtual Network. 

NOTE: This parameter will display only if an existing VPC is used for deployment.

Azure Function Subnet Name* 

 

Name of the Subnet in which Azure Functions will be running. The Subnet should be part of the above Virtual Network. A separate subnet is required for Azure Functions with a delegation to Microsoft.Web/serverFarms. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Virtual Network Resource Group Name* 

Name of Resource Group in which Virtual Network and Subnet are deployed. 

Security Group Name*

Name of the Security group that can be used to access the VMs.

Security Group Resource Group Name* 

Name of the Resource Group in which the Security Group is deployed. 

Network Resource Group Name* 

Name of the Resource Group in which the Virtual Network, Subnet, and Security Group are deployed. 

Enable Managed Identity Creation 

Select True to create a new managed identity for Kyvos. 
Select False to use an already existing managed identity. 

Managed Identity Name* 

Enter the name of the User-Managed Identity to be attached to all Kyvos VMs. 

Managed Identity Resource Group Name 

Name of the Resource Group in which Managed Identity is deployed. 

Gallery Resource Group Name* 

Name of Resource Group in which Gallery resides.

NOTE: This field is displayed only if you selected the Use Custom Image checkbox when creating the template. 

Gallery Subscription ID 

Subscription ID in which Gallery resides. 
NOTE: This field is displayed only if you selected the Use Custom Image checkbox when creating the template. 

Gallery Name* 

Name of the Shared Image Gallery. 
An Azure image gallery is a repository for managing and sharing custom images. An image source can be an existing Azure VM. 
NOTE: This field is displayed only if you selected the Use Custom Image checkbox when creating the template. 

Gallery Image Definition Name* 

Name of the Image Definition. 
Image definitions are created within a gallery and carry information about the image and requirements for using it internally. This includes whether the image is Windows or Linux, release notes, and minimum and maximum memory requirements. It is a definition of a type of image. 
NOTE: This field is displayed only if you selected the Use Custom Image checkbox when creating the template. 

Gallery Image Version Name* 

Name of the Image Version - should follow <MajorVersion>.<MinorVersion>.<Patch>. 
NOTE: This field is displayed only if you selected the Use Custom Image checkbox when creating the template. 

Databricks Token* 

Enter the value of the token used to connect to Databricks Cluster. 

Databricks Authentication 

Shows the authentication type selected while creating the template from Kyvos Manager.

NOTE: If you selected the Personal Access Token option while creating the template from Kyvos Manager, you must provide the Databricks Token. For AAD, it is not required.

Kyvos Work Directory 

Enter the path for the Kyvos work directory. 

SSH Public Key* 

Provide an RSA public key in the single-line format (starting with "ssh-rsa") or the multi-line PEM format. 
You can generate SSH keys using ssh-keygen on Linux and OS X, or PuTTYGen on Windows. 

Additional Tags 

Enter the additional tags to put on all resources. 
Use the syntax as: {"Key1": "Value1", "Key2" : "Value2"} 

Storage Account Name 

Enter the name of the Storage Account to be used for Kyvos. 

Storage Account Container Name 

Enter the name of the Container in the Storage Account which will be used for Kyvos. 

CustomPrefixVirtualMachines

Enter a custom prefix that you want to append before the name of the virtual machines to be used for Kyvos.

CustomPrefixVPC

Enter the custom prefix you want to append before the name of VPC in case a new VPC is created for use with Kyvos.

CustomPrefixNSG

Enter the custom prefix you want to append before the name of the Network Security Group in case a new group is created for use with Kyvos.

CustomPrefixKeyVault

Enter the custom prefix you want to append before the name of Key Vault in case a new Key Vault is created for use with Kyvos.

CustomPrefixScaleSet

Enter the custom prefix you want to append before the name of Scaleset that will be created for use with Kyvos.

Vault URL 

Provide the URL for your existing Azure Key vault. If the Key Vault is not provided, Kyvos will create a new Key Vault named kyvosvault<XXXXX>. Here, XXXXX is a unique five-digit identity generated as a suffix to the Kyvos vault. 

Vault Resource Group 

Name of Resource group in which the Key Vault is deployed. 

Boot Diagnostics Storage Account Resource ID 

Resource ID of a storage account of type gen1 for enabling Boot Diagnostics of VMs. If left blank Storage Account of type gen1 will be created. 

Log Analytics Workspace Name 

Name of Log Analytics Workspace. Leave blank if you don't wish to enable the Log Analytics agent for VMs. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Log Analytics Resource Group 

NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Firewall Ip White List 

Provide a comma-separated list of the IP rules to be set for the Key Vault and Azure Storage Account. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Azure Function Crontab

Crontab entry to call Azure functions for use with cluster scheduling.

Default value: [utcNow('u')]

Storage Account Resource Group 

Enter the name of the Resource Group in which the Storage Account is deployed. 

Object Id of Service Principal* 

The Object ID assigned to the Service principal. This maps to the ID inside the Active Directory. 

Databricks Vpc Type*

CustomerManagedVnet: Select this option to allow Network ACLs of the storage account to include Databricks and Kyvos V-net as whitelisted in it.

DatabricksManagedVnet: Select this option to disable Network ACLs for the storage accounts. In this case, the Databricks managed VNET will be used. 

NOTE: This option is displayed only if you selected the Deploy with Enhanced Security option at the time of creating the template from the Kyvos Manager.

Databricks Virtual Network Name 

Enter the name of the Databricks Virtual Network to be used. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Databricks Private Subnet Name 

Enter the name of the Private Subnet in which Databricks VMs will be running. The Subnet should be part of the above Virtual Network. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Databricks Public Subnet Name 

Enter the name of the Public Subnet in which Databricks VMs will be running. The Subnet should be part of the above Virtual Network. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Databricks Network Resource Group Name 

Enter the name of the Resource Group in which Databricks Virtual Network and Subnet are deployed. 
NOTE: This field is displayed only if you had selected the Deploy with Enhanced Security checkbox at the time of creating the template. 

Azure Postgres Server Sku Tier 

Azure Database for PostgreSQL pricing tier. 

SSH public key source

Select the required option from the SSH public key source list. 
NOTE: If you select the Use Existing public key option from the list, the SSH Public Key field is displayed. 

SSH Private Key* 

Provide the RSA private key in the single-line format. 

Kyvos Cluster Name 

Provide a name for your Kyvos cluster. 

Kyvos Installation Path 

 

Provide the installation path to be used for deploying the Kyvos cluster. 

Databricks URL* 

Provide the URL in <https://<account>.cloud.databricks.com> format. 

Example: https://centralus.azuredatabricks.net/ 

Databricks Cluster Id* 

Enter the ID of the cluster you created. 

To obtain this ID, click the Cluster Name on the Clusters page in Databricks. The page URL shows <https://<databricks-instance>/#/settings/clusters/<cluster-id>. 

Databricks Cluster Organization ID* 

Enter the Cluster Organization ID of your Azure cluster. To obtain this ID, click the Cluster Name on the Clusters page in Databricks. 
The number after o= in the workspace URL is the organization ID. For example, if the workspace URL is https://westus.azuredatabricks.net/?o=7692xxxxxxxx, then the organization ID is 7692xxxxxxxx. 

Postgres Password* 

Provide the value of the password used for Postgres 

License File Value* 

Enter a valid Kyvos License. 

Secret Key For Kyvos Bundle Download* 

Enter the Secret key to access the Kyvos bundle. 

Enable Public IP 

Select True to enable Public IP for the Kyvos Web portal. 

Dns Label Prefix 

Unique DNS Name for the Public IP used to access the Virtual Machine. 

Type of Public IP

Type of Public IP address for Kyvos Web portal from Dynamic or Static.

Host Name Based Deployment

Select True to use hostnames instead of IP Addresses for instances during cluster deployment. 

Perform Env Validation

Select True to perform environment validation before cluster deployment to ensure all the resources are created correctly.

  1. Click Review + Create . 

  2. The system validates your inputs and displays a summary of the provided inputs. To continue with deployment, click Create. This creates all the resources and services required for deploying the Kyvos cluster.

Note

To access the Usage Dashboard, you need to provide permissions after completing the deployment.

If you have deployed the cluster with  Web Portal HA, you can enable TLS for Web Portal using Post Deployment steps listed here.

Flexible Server details for Kyvos and Kyvos Manager Repository

Next: Access Kyvos Manager and Kyvos

Copyright Kyvos, Inc. All rights reserved.