1. Overview
The Cloud Service Orchestration feature lets your Cloud Administrators, DevOps users, and General users work on the HyperCloud™ Platform (HCP) without having to access your public cloud provider consoles. You can provision resources like Virtual Machines (VMs), Containers, and PaaS services in public and private cloud providers using the Cloud Service Orchestration feature.
The HCP portal:
- Provides a simple and consistent experience for provisioning your resources
- Lets you stay within the configuration limits
- Removes technical barriers for adopting multiple cloud providers and managing multi-cloud environments
Using the Service Orchestration feature, you can:
- Send provisioning requests to your private and public cloud providers. You’ll need to select and configure your resources1.
Example: You’ll have to choose your Operating System, Resource Size, Network, Storage resources, etc.
- Pick the right image or instance using Blueprints from a public cloud with diverse resource images, sizes, and regions options.
- Use Blueprints and Plugins for provisioning your resources on the HCP portal2.
Information
- Blueprints are Service Catalog items distributed by Blueprint Publishers.
- Your cloud users can consume Blueprints via HyperCloud App Store.
2. Virtual Machine Provisioning Wizard
2.1 Overview
The HyperCloud™ Platform (HCP) lets you provision your VMs using the Virtual Machine (VM) Provisioning Wizard. You can provision VMs for these Cloud Providers via the Virtual Machine (VM) Provisioning Wizard:
- Amazon Web Services (AWS) VM(see page 7)
- Microsoft Azure VM(see page 11)
2.2 Amazon Web Services (AWS) VM
2.2.1 Overview
The HyperCloud™ Platform (HCP) lets you provision your Amazon Web Services (AWS) Virtual Machines (VMs).
2.2.1.1 Provision your AWS VM
To provision an Amazon Web Services (AWS) Virtual Machine (VM):
- Login to your HCP account.
- Navigate to Service Orchestration > Services > VMs > New.
- Select the Amazon Web Services (AWS) Resource Pool.
- Select the VM size.
- Select the Operating System Image.
- Select the Subnet.
- Select the Security Group from the drop-down.
- You'll need to define the availability set for your Resource Pool by:
- Using an Existing Availability Set
- Creating a New Availability Set
- Alternatively, You can skip adding your VM in the desired availability set.
- You can view the Summary; Inbound and Outbound Rules for your security group.
- To define the Public-Private Key Pair:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Select the Credentials from the Credential Store.
- If you are a HCP Administrator, you can create a VM for yourself or for the users.
- You can configure Advanced settings for your VM based on the table below. This is an optional configuration.
Field name
Description
Name prefix
Enter a Name for your VM. [2]
Container Cluster
You can assign a VM to a kubernetes cluster. Adding your nodes
to clusters lets you scales your apps.
Lease
You can select the VM Lease duration, after which, the Lease will
expire and so will your access to the VM. [3]
Plugins
Select Plugins from the drop-down menu. Plugins allow you to
customize a newly created VM.
Define a VM Start and Stop Schedule
Select the check box to define the VM stop and start schedule.
Read more about VM Start & Stop Scheduling3.
- The VM Summary page displays the configuration of your new VM. From the VM Summary page, you can:
- Create multiple VMs in one go by specifying the number of VMs in the How Many VMs
- Click Create, to create a new VM. Your request to create a new VM is posted to the specified cloud.
- Click Save Blueprint Only, to create a Template or VM Blueprint for the VM configuration.
- VM Template or Blueprint is stored in the App Store.
- You can use the VM Template or Blueprint for single-click VM deployment.
- Create multiple VMs in one go by specifying the number of VMs in the How Many VMs
2.3 Microsoft Azure VM
2.3.1 Overview
The HyperCloud™ Platform (HCP) lets you provision your Microsoft Azure Virtual Machines (VMs.)
2.3.1.1 Provision your Microsoft Azure VM
Before you begin:
Before you provision a Microsoft Azure Virtual Machine (VM), you will need to create the following:
- Microsoft Azure Resource Pools
- Resource Groups
- Subnets
- Password or Key Pairs
Info
To learn about:
- HCP VM agent, refer to the article on CMP VM Agent4.
- Credential store, refer to the article on Credential Store Management.
To provision a Microsoft Azure Virtual Machine (VM):
- Login to your HCP account.
- Navigate to Service Orchestration > Services > VMs > New.
- Select the Resource Pool, Resource Group from the respective drop-downs.
You'll need to define the availability set for your Resource Pool by:
- Using an Existing Availability Set
- Creating a New Availability Set
- Alternatively, You can skip adding your VM in the desired availability set.
- Select the Hardware Configuration or the VM Size from the dropdown.
- Select the Image you want to apply to your VM, from the dropdown.
- Select the Subnet for your VM.
- If you need to assign a public IP address for the new VM, select the Assign Public IP check box. You can choose between Basic or Standard public IP. Select the Security Group from the dropdown, else the wizard will create a new one for your VM.
- The HCP portal manages your VMs via the HCP agent installed on your VMs. To skip installing the a HCP agent on your VM, select the Skip HyperCloud Agent Install check box.
- Select the Authentication method for your VM.
- If you are a HCP Administrator, you can create a VM for yourself or for the users
- You can configure Advanced settings for your VM based on the table below. This is an optional configuration.
- The VM Summary page displays the configuration of your new VM. From the VM Summary page, you can
- Create multiple VMs in one go by specifying the number of VMs in the How Many VMs
- Click Create, to create a new VM. Your request to create a new VM is posted to the specified cloud.
- Click Save Blueprint Only, to create a Template or VM Blueprint for the VM configuration.
- VM Template or Blueprint is stored in the App Store.
- You can use the VM Template or Blueprint for single-click VM deployment.
-
You can view the real-time log of the VM creation process
3 Virtual Machine Management
3.1 Overview
The HyperCloud™ Platform (HCP) lets you manage your Virtual Machine (VM) lifecycle. The VM management User Interface allows owners to perform various operations as mentioned below:
Information: The Operations mentioned below are enabled or disabled based on applicability, selection, and the cloud provider.
- Terminal: Opens the Linux Terminal to a VM, for issuing a command.
- Add to a Cluster (private cloud only): You can add the created VM to an existing cluster if needed.
- Start: Re-start a VM.
- Stop: Stop a running VM.
- Destroy: Delete a VM. You'll not be able to delete a VM if your administrator has enabled the Termination
Protection feature. A deletion request has to be approved by a Tenant Administrator.
- Install VM Agent (private cloud only): Lets newly registered hosts to establish communication with HCP and install the agent.
- Resize: Lets you resize a VM. Clicking Resize opens up a warning message that your CPU and memory may either increase or decrease. You can only increase the Disk size using Resize.
- Change Owner: This is a ROLE_VM_CHANGEUSER role-based feature and lets Tenant Administrators change the VM Owners.
- Test Connection: You can test the connection between your VM and the HCP portal. You can only test a connection if you have a HCP VM agent installed on your VM.
3.1.1 Perform a VM Operation
To perform an operation on a VM:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > VMs > Click on the ':' next to a VM record, to open the operations drop-down list.
-
We've listed the VM operations you can performed based on VM states in the table below.
4 VM Scheduling
4.1 Overview
Virtual Machine (VM) Creation Wizard is a HyperCloud™ Platform (HCP) feature that lets you schedule your VM. You can define the VM Start and Stop schedule if you have a definite work pattern or you want to reduce your cloud costs. To specify a VM start and stop schedule:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > VMs > VM Creation Wizard > Advanced tab > Select the Define a VM Start and Stop Schedule.
You can schedule a VM in three ways:
- Recurrence Start VM Schedule
- Specific Start VM Schedule
- Advanced (Via Quartz Cron Expression
4.1.1 Recurrence Start VM Schedule
Select Recurrence Start VM Schedule if you want to implement recurring Start and Stop Schedules for your VM.
Once you choose the VM Schedule, you'll need to select the values for:
- Start and End Date for your Schedule.
- Pick the recurrence or frequency for Starting and Stopping a VM.
- You can choose from Daily, Weekly or Monthly recurrences.
- Select the VM Start Time.
- Select the validity period for the VM. Post this period, your VM will be terminated.
4.1.2 Specific Start VM Schedule
If you want to schedule the VM Start and Stop time for a specific time, use the Specific Start VM Schedule. This setting is similar to a VM lease period. Once you select this setting, set the Start and Stop Date for your VM.
4.1.3 Advanced (Via Quartz Cron Expression)
You can customize your VM Start and Stop Dates.
This setting is similar to the Quartz Cron syntax with some minor differences. To customize your VM Start and Stop Schedule, enter values for these parameters and separated by whitespaces:
MINUTE HOUR DOM MONTH DOW YY
We've listed the details for the syntax in the table below:
5 Credential Store Management
5.1 Overview
The HyperCloud™ Platform (HCP), lets you have a centralized space for managing your Virtual Machine (VM) Public and Private cloud credentials. New storage account keys are always generated in pairs. If there is a problem with the key-pair in use, the HCP portal uses the unused key-pair to provide non-interrupted services. Whenever the second key-pair is utilized, a new key-pair is generated. When you use the VM Creation Wizard to create a VM, you'll need to provide these authentication methods:
- Key-Pair Store
- Password Store
5.1.1 Key-Pair Store
The following cloud providers support a Key-Pair Store:
- AWS
- GCP
- Azure
- OpenStack
5.1.1.1 Create Key-Pair Store
To create a key-pair store:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Credential store > New > Key-pair Store.
- Select the cloud provider for which, you wish to create a key-pair store.
- Enter the name for your cloud provider-specific key-pair store.
- Select the resource pool.
- Click Generate Keys, to create public and private keys.
- Click Download Private Keys, if you want to download your keys.
- You can choose the Entitled Users for your keys.
- Only me: to limit the access to the keys to your HCP account.
- Groups & Users: to share the keys between your tenant users. You'll need to entitle users to various users and groups.
- Click on Save Changes.
5.1.2 Password Store
The Password store creation process is similar to that of creating Key-Pair Store. New storage account passwords are always created in pairs. If there is a problem with the password in use, the HCP portal uses the unused password to provide non-interrupted services. Whenever the second password is utilized, a new password pair is generated.
5.1.2.1 Create Password Store
To create a password store:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Credential store > New > Password Store.
- Enter a name for your password store.
- Enter the Cloud Provider Account Username and Password.
- You can choose the Entitled Users for your Passwords.
- Only me: to limit the access to the passwords to your HCP account.
- Groups & Users: to share the passwords between your tenant users. You'll need to entitle users to various users and groups.
6 Microsoft Azure Network & Security Services Management
6.1 Overview
When you create a new Microsoft Azure Cloud Provider the HyperCloud™ Platform (HCP), you can:
Discover Resource Manager Network and Security as well as allow Administrators and Users to create and manage these following resources:
- Resource Groups(see page 25)
- Create a Resource Group(see page 25)
- Virtual Private Cloud (Microsoft Azure vNet)(see page 26)
- Create a Virtual Private Cloud (Microsoft Azure vNet)(see page 26)
- Create Subnets(see page 27)
- Security Groups(see page 28)
- Create a Security Group(see page 28)
- Create Inbound and Outbound Rules(see page 29)
- Add an Inbound Rule - Needs verification(see page 29)
- Add an Outbound Rule(see page 30)
6.1.1 Resource Groups
Resource Groups are logical containers that hold your Microsoft Azure resources. All resources in a resource group must have the same life-cycle. You can deploy, update, and delete multiple resources in a resource group.
6.1.1.1 Create a Resource Group
To create a new Resource Group:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Resource Groups > New.
- Select the Microsoft Azure cloud provider.
- Enter a Name for your resource group. [1]
- Click on Create Resource Group.
- Once you've created a resource group, you'll need to create a Virtual Private Cloud (VPC) for the same.
- Once you've created a resource group, you'll need to create a Virtual Private Cloud (VPC) for the same.
6.1.2 Virtual Private Cloud (Microsoft Azure vNet)
Virtual private cloud in the HyperCloud™ Platform (HCP) is addressed as Virtual Private Cloud (VPC) or Microsoft Azure vNet.
Your VPC is:
- Logically isolated from other networks
- Has its own firewall capabilities
- Scoped to a single Microsoft Azure Region.
- A network made up of subnets.
- A subnet is a range of IP addresses in your virtual network. Like VPC networks, subnets are scoped to a single Microsoft Azure Region.
6.1.2.1 Create a Virtual Private Cloud (Microsoft Azure vNet)
To create a Microsoft Azure VPC:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Networks > Virtual Private Cloud > New > Azure.
-
Select your Microsoft Azure cloud Provider.
-
Select your Resource Group. subnets/
-
Enter a name for your VPC.
-
Enter a description for your resource group.
• This is an optional field.
-
Select your subnet IPV4 CIDR. [1]
-
Enter the Subnet Name and the Subnet CIDR for your VPC.
• HCP automatically creates a subnet when you create a VPC.• You can add more subnets to your VPC later.
-
Click on CREATE VPC.
6.1.3 Create Subnets
To add more subnets to your newly created VPC:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Networks > Virtual Private Cloud > Click to select your VPC > Actions > Create New Subnet
-
Enter the following in the New Subnet dialog:
a. Enter name for your Subnet
b. Enter Description for you Subnet
c. Select your Subnet IPV4 CIDR
d. Click on create Subnet
-
6.1.4 Security Groups
Security Groups form an important layer of security firewall rules that:
- Control your VM traffic
- Let you filter your Microsoft Azure virtual network traffic
- Lets you tag your resources for resource tracking and management
6.1.4.1 Create a Security Group
To create a Security Group:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > Security > Security Group.
- Click on New and select Azure.
- From the Create Security Group dialog, select your Resource Pool
- Select your Resource Grou
- Enter a name for your Security Group.
- Enter a description for your security group.
- This is an optional field.
6.1.4.2 Create Inbound and Outbound Rules
Once you've created a Security Group, click your Security Group to add Firewall Rules.
6.1.4.3 Add an Inbound Rule - Needs verification
To add an Inbound Rule:
- From the Security Group dialog, click Actions > Add Inbound Rule.
- Enter a Name for your Inbound Rule.
- Enter a Description for your subnet. This is an optional field
- Enter a value for the Rule Priority. This field determines the precedence that other rules will take over your rule.
- Choose:
a. Allow or Deny to define the Rule Action that your firewall needs to perform.
b. Protocol from these options:
• Any
• TCP
• UDP
c. Any or IP Range to define the IP filter of your firewall.
d. Any or Custom to define the port range filter of your firewall.
e. Any or IP Range to define the IP filter for the destination firewall.
f. Any or Custom Port Range to define the port filter for the destination firewall.
6.1.4.4 Add an Outbound Rule
To Add an Outbound Rule:
- From the Security Group dialog, click Actions > Add Outbound Rule.
- Rest of the process is similar to that of Adding an Inbound Rule(see page 29).
7 Cloud Storage Management
7.1 Overview
The HyperCloud™ Platform (HCP) lets you create and manage your storage.
7.1.1 Create Storage
To create an additional volume:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > storage > New.
- In the Volumes dialog, enter the information as shown in Table 1.
- Once you create a volume, you'll see your volume go Live. Now we will have multiple options in context to this specifically created volume
- The operations that you can perform on your volume are listed out in Table 2.
8 Cloud Resource Tagging
8.1 Overview
The HyperCloud™ Platform (HCP) lets you tag your cloud resources for tracking and management. You can Tag the following resources:
- Virtual Machines
- Virtual Private Clouds
- Security Groups
- Volumes
- Resource Groups
By default, the HCP portal adds system tags to identify a resource. You can add custom tags to your resources using the HCP portal.
8.1.1 Tag a Virtual Machine (VM)
Notes:
- The HCP portal lists the existing tags for a Region. You can reuse these tags.
- You can remove custom tags.
- System tags are default and cannot be removed.
To view or create tags on a VM:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > VM > Click open the VM > Tags > Add Tag.
- The System Tags that you will able to view are listed in Table 1 They are greyed out or non-editable.
- You'll see a new row for adding a Custom tag once you click on the Add Tag button.
- Enter the Name and Value for your new Tag. You can add multiple tags in one go.
- Click on Save.
Table 1: You will be able to view the following System Tags.
8.1.2 Tag a Virtual Private Cloud (VPC)
You can tag your Virtual Private Cloud (VPC), Security Groups, Volumes, and Resource Groups in the same manner as a VM.
9 Virtual Machine Details
9.1 Overview
Once you create a new Virtual Machine (VM) on the HyperCloud™ Platform (HCP), you can view the configuration of your VM in detail. To view your VM configuration details:
- Login to your HCP account.
- Navigate to Service Orchestration > Services > My VMs > Click a VM to view details of your VM.
The following VM details are available in the form of tabs:
- Overview(see page 38)
- Timeline(see page 39)
- Monitoring(see page 39)
- System Info(see page 40)
- Compose(see page 41)
- Plugin(see page 41)
- Recommendations(see page 41)
- Schedule(see page 42)
- Tagging(see page 42)
9.1.1 Overview
Under the Overview tab, the following details are displayed:
- Name and IP of the VM
- Instance Type
- Owner of the VM
- Security Group and Blueprint of the VM
- Resource Pool that the VM belongs to
- VM Agent Install: To know more about this feature, refer to the article on Cloud Management Platform (CMP) VM Agent8. You can install the VM Agent using these commands:
- Execute this command as root on Linux/RHEL/Cent on your OS host
/bin/yum -y install curl || /usr/bin/apt-get update && /usr/bin/apt-get -y install curl; curl -Ls https://repo.skygrid.cloud/snapshot/6.5.2/LATEST/ agents/hcp_linux_agent.sh | bash -s https://repo.skygrid.cloud/snapshot/6.5.2/ LATEST 95633832-7071-4344-9f03-0d03f3522173 52.170.147.166 5671 docker.skip
- Execute this command as an Administrator on your Windows host
powershell.exe -Command "Invoke-WebRequest https://repo.skygrid.cloud/ snapshot/6.5.2/LATEST/agents/hcp_agent_install_windows_test.ps1 -OutFile hcp_agent_install_windows.ps1 ; & .\hcp_agent_install_windows.ps1 https:// repo.skygrid.cloud/snapshot/6.5.2/LATEST 95633832-7071-4344-9f03-0d03f3522173 52.170.147.166 5671 docker.skip "
- VM Stats: View the Status and Creation Date of your VM.
- Lease: View the VM Lease Duration and the Expiry Date set by your Administrator.
- Termination Protection: This feature protects a VM from accidental deletion. You'll need the Tenant Administrator’s approvals to delete a VM.
- Size: You can view
- Memory: View status for used and percentage used memory out of the total memory.
- Disc: View status for used and percentage used storage out of the total storage.
- CPU: View details for the number of core processors in a VM.
9.1.2 Timeline
Under the Timeline tab, the following details are displayed:
- VM Status and Logs from the time of creation.
- Detailed VM logs: To view a log in detail, click on View Execution Logs.
- User, Date, and Time for a VM task
9.1.3 Monitoring
Under the Monitoring tab, the following details are displayed:
- Graph, Pie-charts, and Utilization details for these resources:
- CPU
- Memory
- Disk
- Detailed resource utilization view for Daily, Hourly or Custom time periods.
9.1.4 System Info
Under the System Info tab, the following details are displayed:
- System Info: Details of the Operating System (OS) on the VM.
- CPU Details
- Primary Network details of the VM
- CPU utilization statistics
- VM Memory statistics
9.1.5 Compose
The HCP portal comes bundled with automated and self-service Infrastructure and Application provisioning features.
- To generate a YAML-based Machine Compose template, click on Machine Compose.
- You can use this as your standard template.
- You can set the granular controls and share the template with your Users.
9.1.6 Plugin
You can run Plugins on your VMs.
- Plugins let you send controlled updates to your VMs and Containers.
- The plugin framework relies on custom scripts like BASH, PowerShell, Puppet, Perl, Ruby or Python.
9.1.7 Recommendations
The Recommendations tab is optional. You can enable or disable recommendations via Feature Preference section.
Our intelligent HCP portal provides VM recommendations. These recommendations are based on:
- Actively searching your regional Cloud Provider landscape for price inefficiencies.
-
Identifying alternative and cheaper VM configuration choices.
9.1.8 Schedule
You can define the VM Start and Stop Schedule via Schedule tab. To know more about VM scheduling refer to the article on VM Start & Stop Scheduling(see page 19).
9.1.9 Tagging
You can tag your Cloud Resources using Tags. Tagging a resource lets you monitor and manage your resources via the HCP portal. To know how to use this feature, refer to the article on Cloud Resource Tagging(see page 36).
10. HyperCloud™ Blueprints
10.1 Overview
HyperCloud™ Blueprints allow you to create predefined templates for provisioning your resources with a single click. You can publish blueprints as Service Catalog items on the HyperCloud App Store. You can share blueprints with your HyperCloud Platform (HCP) users using entitlements. Blueprints let entitled users provision resources on an ongoing basis and comply with IT policies.
Caution
If you are an HCP user, you must be entitled to a resource pool to provision resources.
Note
Before you create or provision a VM you’ll need to follow these steps:
- Add your Cloud Provider account to the HCP portal.
- Create a Cloud Provider, Quota, and Resource Pool on the HCP portal.
- While creating a VM, you’ll only be able to view resource pools that are entitled to you.
- You’ll need to add a Subnet and VPC to your Cloud account.
- You’ll only be able to entitle the VM to resources from your Resource Pool.
You can create blueprints to provision these resources:
You can provision a VM using MACHINE_COMPOSE or the Free-form wizard.
You can create a Kubernetes App using K8S_COMPOSE or a standard Kubernetes YAML and Namespace.
Information
You can access a namespace only when you provision your Kubernetes Cluster using the HCP portal.
- Kubernetes Helm Charts or Complex Apps11
Kubernetes blueprints are uploaded as Helm Charts. A Helm Chart consists of multiple YAML files that are archived and uploaded to the HCP portal via the HyperCloud App Store. You can deploy complex Kubernetes applications using Helm Charts.
- Terraform templates for cloud providers like Amazon Web Services (AWS) and Microsoft Azure
You can deploy Terraform templates for cloud providers like Amazon Web Services (AWS) and Microsoft Azure. A terraform template is comprised of two files:
tf13: These files contain cloud-specific attributes. When you provision resources, Terraform uses the information on main.tf14 files to provision resources.
tf15: The variables.tf16 allow customizing the terraform template. The HCP portal uses the variables.tf17 to let users enter custom values for variables during runtime.
10.2 Virtual Machines (VMs)
10.2.1 Overview
You can create a Virtual Machine (VM) using the Free-form wizard. You can select and provision as many VMs as you require using the Free-form wizard. Adding multiple resources on an ongoing basis is a cumbersome process. If you have to provision VMs regularly, you can create a VM blueprint using the Free-form wizard and publish it on the HCP App Store.
10.2.1.1 Configure Credential Store
Before you provision a VM, you'll need to configure the Credential Store18. You can configure the credentials store using:
- Key-Pair(see page 0)
- Password Store(see page 0)
10.2.1.2 Provision your Virtual Machines (VMs)
You can provision VMs for these services providers using blueprints:
- Microsoft Azure(see page 0)
- Amazon Web Services EC2 Instance(see page 0)
- VMware vSphere VM(see page 0)
10.2.2 Configure Credential Store
10.2.2.1 Overview
The Credential Store service is a centralized space where you can store your public and private cloud credentials for your Virtual Machine (VM.) You can directly use your credentials on the credential store to provision VMs using Blueprints or Free-form wizard.
Configure your Credential Store
Before you begin
Ensure that you have access to at least one resource pool.
The HCP portal supports two types of credential stores:
- Key-Pair(see page 0): create a Key-Pair using the HCP Portal and use it while provisioning VMs.
- Password Store(see page 0): save your Username and encrypted Password.
Note
You can create Password Store for:
- Microsoft Azure and,
a Key-Pair Store for these resources:
- Microsoft Azure
- VMware vSphere
- Microsoft Hyper-V
- Google Cloud Platform (GCP)
10.2.2.2 Generate Key-Pair
You can generate a Key-Pair Credential on the HyperCloudTM Platform (HCP) using the Credential Store feature.
Creating a credential store lets you authorize all your resources in one go. You can generate key-pairs for:
- Public access: anyone with a public access key-pair can authorize your resources.
- Private access: only users who have access to your private key-pair can authorize your resources.
To generate a key-pair:
- Login to your HCP account.
- Click Services Orchestration.
- Navigate to Services > Click Credential Store > Click New > Select Key-Pair Store.
- Enter these details in the Key Pair dialog.
- Select the Cloud from the drop-down list.
- Enter a unique suffix Name for your Cloud. Example: AWS-KP1
- If you’ve selected an Amazon Web Services (AWS) cloud: you’ll need to select the resource pool from the Resource Pool drop-down.
- Click Generate Keys.
- If you want to provide access to other users, click Groups & Users
- Enter the first alphabet of the Username to find and select the Users you want to entitle.
- Enter the first alphabet of the Group to find and add Groups that you want to entitle.
- Click save
10.2.2.3 Create a Password Store
To authenticate your Microsoft Azure resources using a Username and a Password, you’ll need to create a Password Store. To create a password store:
- Login to your HyperCloud™ Platform (HCP) account.
- Click Service Orchestration.
-
Navigate to Services > Click Credential Store > Click New > Select Password Store.
-
Enter these details in the Credentials dialog:
- Enter a Name for your Password Store.
- Enter your cloud account Username.
- Enter your cloud account Password.
- If you want other users to access your credentials, click Groups & Users.
- Enter the first alphabet of the Username to find and select the Users you want to entitle.
- Enter the first alphabet of the Group to find and add Groups that you want to entitle.
- Click Save.
10.2.3 Provision Blueprints
10.2.3.1 Overview
Once you set up a credential store, you can provision your Virtual Machines (VMs) and create Blueprints for these resources:
- Microsoft Azure(see page 0)
- Amazon Web Services EC2 Instance(see page 0)
- VMware vSphere VM (see page 0)
10.2.3.2 Microsoft Azure
Before you begin
- To provision a Microsoft Azure Virtual Machine (VM) using a blueprint, you’ll need to create a
Resource Group on the HyperCloudTM Platform (HCP.)
- All objects for a VM like the number of Disks, IP addresses, etc. are stored on the Resource Group.
To provision a Microsoft Azure VM using blueprints, follow these steps:
- Create a Resource Group(see page 0)
- Provision your Microsoft Azure VM(see page 0)
- You’ll be redirected to Service Orchestration > VM.Create additional volumes using Blueprints(see page 0)
Create a Resource Group
Before you provision a Microsoft Azure Virtual Machine (VM), you’ll need to create a Resource Group. Skip this step if you’ve already created a Resource Group. To create a Resource Group for Microsoft Azure, follow these steps:
- Login to your HyperCloud™ Platform (HCP) account.
- Click Service Orchestration and navigate to Services > Resource Group > New.
- Select your Resource Pool.
- Enter a Name for your Resource Group.
- Click Create Resource Group.
Provision your Microsoft Azure VM
To provision your Microsoft Azure VM:
- Login to your HyperCloud™ Platform (HCP) account.
- Click Service Orchestration and navigate to Services > Click New.
- Fill up these details in the Create a VM dialog:
- Select your Azure Resource Pool from the Resource Pool drop-down list. [1]
- Select the Resource Group and click Next.
- Select an Availability Set. Availability sets are helpful when you have to scale your VMs using a load balancer tool. If you have not created an Availability Set already, you’ll have to create one.
- Select the VM size and click Next.
- Select an Image and click Next.
- Select your Subnet and choose Assign Public IP.
- Select the Security Group.
- Select the Password Credential Store for authenticating your VM.
- Uncheck Skip Agent Install from the Add Credentials dialog. [2]
- Click Next.
- From the Entitle Virtual Machine Owner page, select the entitlement you wish to provide and click
Next.
- Enter these details in the Advanced page dialog:
- Enter a prefix for your VM and click Review. Example: hg-prod-vm
- You may configure these optional settings:
- Enter the Lease term in minutes, hours, and days. [3]
- Select a Plugin to run once your VM is provisioned. Refer to notes [4]
- Select Define a VM Start and Stop Schedule to run your VM at scheduled timings. You can set the start time and duration to daily, weekly, or monthly.
- Click Review.
- Once you click Review, you’ll see the summary of your VM deployment.
- You can deploy multiple VMs with the same configuration.
- Click + next to How Many VMs, to add VMs.
- Click - next to How Many VMs, to remove VMs.
- You can click:
- Create to create your VM or,
- Click Save Blueprint Only to create a blueprint.
- If you choose to save the blueprint, you’ll be able to access it via Service Orchestration > App Store.
- Click open the blueprint you created and click Edit.
- Enter the following details in the </>Machine Compose Blueprint dialog:
- Enter a Name for your Blueprint.
- You can Entitle Users to your Blueprint in one of the following ways:
- Select Everyone to provide access to all users.
- Select Groups & Users to provide access to specific users.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes.
- To deploy a VM using the Blueprint:
- Click open your Blueprint.
- Click on Create Machine.
- You’ll be redirected to Service Orchestration > VM.
Create additional volumes using Blueprints
Once you provision a VM, you can create additional volumes using the YAML editor. You can access the YAML editor by editing a Blueprint. To create additional volumes using Blueprints:
- Login to your HyperCloud™ Platform (HCP) account.
- Click Service Orchestration and navigate to the AppStore.
- Click open your Blueprint.
- Click Edit.
- Append the vol: in the YAML editor. Refer to the sample code below. [1]
- Click Save Changes.
- Once you’ve made changes to your YAML code, click open your Blueprint.
- Click Create Machine.
- Once your VM is provisioned, the HCP creates additional volumes under the same resource group and attached it to your newly provisioned VM. [2]
Note:
- [1] The unit for the size of a volume is in GB.
- Use a prefix to name the volume (or disk.)
- [2] By default, this volume will be mounted under this path /var/lib/hypercloud.
- You can view the additional volumes created by clicking Service Orchestration and navigating to Services > Storage.
- You’ll be redirected to Service Orchestration > VM.Create additional volumes using Blueprints(see page 0)
10.2.3.3 Amazon Web Services EC2 Instance
You can provision Amazon Web Services (AWS) EC2 instances using a HyperCloudTM (HCP) Blueprint. Follow these steps to create an AWS EC2 instance Blueprint
- Login to your HCP portal account.
- Click Services Orchestration and navigate to Services > New.
- Select your AWS Resource Pool from the drop-down list. [1]
- Select your instance Size and click Next.
- Select your Image and click Next.
- Select the Subnet for the instance and click Next.
- Select the Security Group.
- Select your Key-Pair from the Add Credentials page and click Next.
- Choose the entitled users from the Entitle Virtual Machine Owner page and click Next.
- Enter these details in the Advanced page dialog:
- Enter a Prefix for your VM and click Review. Example: *hg-prod-vms*
- You may configure these optional settings:
- Enter the Lease term in minutes, hours, and days. [2]
- Select a Plugin to run once your VM is provisioned. [3]
- Select Define a VM Start and Stop Schedule to run your VM at scheduled timings. You can set the start time and duration to daily, weekly, or monthly.
- Click Review.
- Once you click Review, you’ll see the summary of your VM deployment.
- You can deploy multiple VMs with the same configuration.
- Click + next to How Many VMs, to add VMs.
- Click - next to How Many VMs, to remove VMs.
- You can click:
- Create to create your VM or,
- Click Save Blueprint Only to create a blueprint.
- If you choose to save the blueprint, you’ll be able to access it via Service Orchestration > App Store.
- Click open the blueprint you created and click Edit.
- Enter the following details in the </>Machine Compose Blueprint dialog:
- Enter a Name for your Blueprint.
- You can Entitle Users to your Blueprint in one of the following ways:
- Select Everyone to provide access to all users.
- Select Groups & Users to provide access to specific users.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes.
- To deploy a VM using the Blueprint:
- Click open your Blueprint.
- Click on Create Machine.
- You’ll be redirected to Service Orchestration > VM.
Notes
- [1] AWS resource pools are identified by their prefixes. Example: RP.AWS.ap-southeast-1.<ResourcePoolName>
- [2] Once the lease period expires, your VM will be automatically deleted, and you will receive an email notification for the same.
- [3] If you want to run multiple plugins on a VM, you can select the order in which they run and exit.
- Select a Plugin from the Plugins drop-down.
- Click + Advanced Configurations.
- Enter the Valid Exit Codes for your Plugin.
- Enter the Plugin execution order.
- Click + Advanced Configurations to collapse the configuration menu.
- To add another Plugin:
- Select your plugin from the Plugins drop-down list.
- Configure Advance Configurations as you did in step 2.
- Once you’ve added and configured all the Plugins, click Review.
10.2.3.4 VMware vSphere VM
You can provision a VMware VSphere Virtual Machine (VM) using Blueprints. Follow these steps to create a VMware vSphere VM Blueprint:
- Login to your HyperCloud™ Platform (HCP) account.
- Click Service Orchestration and navigate to Services > VMs > New.
- Enter these details in the Create A New VM dialog:
- Select your Resource Pool from the drop-down list.
- Select the VM Size from the drop-down list and click Next.
- Select your Image from the drop-down list and click Next.
- Select the Subnet and click Next.
- Select one of these options from the Customization page:
- Using Cloud Image: we recommend that you select this field. [1]
- Using SSH via Login Credentials. [2]
- Skip Agent Install. [3]
- Click Next.
- Choose the entitled users from the Entitle Virtual Machine Owner page and click Next.
- Enter these details in the Advanced page dialog:
- Enter a Prefix for your VM and click Review. Example: *hg-prod-vms*
- You may configure these optional settings:
- Enter the Lease term in minutes, hours, and days. [4]
- Select a Plugin to run once your VM is provisioned. [5]
- Select Define a VM Start and Stop Schedule to run your VM at scheduled timings. You can set the start time and duration to daily, weekly, or monthly.
HyperCloud™ Blueprints – 52
HyperCloud Guides – Cloud Service Orchestration
- Click Review.
- Once you click Review, you’ll see the summary of your VM deployment.
- You can deploy multiple VMs with the same configuration.
- Click + next to How Many VMs, to add VMs.
- Click - next to How Many VMs, to remove VMs.
- You can click:
- Create to create your VM or,
- Click Save Blueprint Only to create a blueprint.
- If you choose to save the blueprint, you’ll be able to access it via Service Orchestration > App Store.
- Click open the blueprint you created and click Edit.
- Enter the following details in the </>Machine Compose Blueprint dialog: a. Enter a Name for your Blueprint.
- You can Entitle Users to your Blueprint in one of the following ways:
- Select Everyone to provide access to all users.
- Select Groups & Users to provide access to specific users.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes.
- To deploy a VM using the Blueprint:
- Click open your Blueprint.
- Click on Create Machine.
- You’ll be redirected to Service Orchestration > VM.
Notes
- [1] Selecting Using Cloud Image lets you install and configure a VMware Template using cloud-init.
- [2] Selecting Using SSH via Login Credentials lets you install the HyperCloud Agent via SSH for a Linux VM.
- [3] Our HyperGrid support team can help you setup Guest Customization.
- Once the Guest Customization is enabled, you will be able to install the agent.
- [4] Once the lease period expires, your VM will be automatically deleted, and you will receive an email notification for the same.
- [5] If you want to run multiple plugins on a VM, you can select the order in which they run and exit.
- Select a Plugin from the Plugins drop-down.
- Click + Advanced Configurations.
- Enter the Valid Exit Codes for your Plugin.
- Enter the Plugin execution order.
- Click + Advanced Configurations to collapse the configuration menu.
- To add another Plugin:
- Select your plugin from the Plugins drop-down list.
- Configure Advance Configurations as you did in step 2.
- Once you’ve added and configured all the Plugins, click Review.
10.3 Kubernetes Apps
10.3.1 Overview
The HyperCloud™ Platform (HCP) supports standard Kubernetes Blueprint deployments. You can deploy a Kubernetes blueprint only on a Kubernetes cluster.
Follow these steps to create a Kubernetes Blueprint using YAML.
- https://cloudsphere.atlassian.net/wiki/x/95F4BQ
- https://cloudsphere.atlassian.net/wiki/x/MQUGAw
- https://cloudsphere.atlassian.net/wiki/x/h4MGAw
10.3.2 Deploy Managed Kubernetes Clusters
10.3.2.1 Overview
You can deploy a managed Kubernetes Cluster for these providers
- Microsoft Azure Kubernetes Service (AKS)(see page 0)
- Amazon Elastic Kubernetes Service (EKS)(see page 0)
- Google Cloud Platform (GCP)
Microsoft Azure Kubernetes Service (AKS)
The HyperCloudTM Platform (HCP) lets you deploy a Kubernetes Cluster using Microsoft Azure Kubernetes Service (AKS).
Before you begin
Ensure that you have sufficient resources in a Resource Pool.
Follow these steps to deploy a Kubernetes Cluster using Microsoft Azure Kubernetes Service:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to Containers > Click New to launch the Kubernetes Cluster Wizard.
- Enter the following details in the Kubernetes Cluster Wizard:
- Enter a Name for your Cluster.
- From the Cloud drop-down, elect Microsoft Azure Kubernetes Service (AKS.)
- Select the Instance Type from the drop-down. [1]
- Select your Resource Pool.
- Select Machine Type.
- Enter the value for Node Count per Zone.
- Select a Resource Group from the drop-down list.
- Click Save Changes.
- Click open the Cluster and navigate to Timeline Click View Execution Logs.
Note
- If you get an “Operation could not be completed as it results in exceeding approved standardDFamily Cores quota,” you’ll need to:
- Choose a different instance or,
- Contact your HCP Cloud Administrator requesting an increase in the quota
Amazon Elastic Kubernetes Service (EKS)
Our HyperCloudTM Platform (HCP) lets you deploy a Kubernetes Cluster using Amazon Elastic Kubernetes Service (EKS.)
[1] Caution
You’ll need to create at least two Amazon Web Services (AWS) resources from different Availability Zones before deploying Amazon Elastic Kubernetes Service (EKS.)
Follow these steps to deploy a Kubernetes Cluster using Amazon EKS:
- Login to your HCP account.
- Click Service Orchestration and navigate to Containers > Click New to launch the Kubernetes Cluster Wizard.
- Enter these details in the Kubernetes Cluster Wizard:
- Enter a Name for your Kubernetes Cluster.
- Select Amazon Elastic Kubernetes Service (AKS) from the Target drop-down list.
- Select High-Availability from the cluster Type drop-down list.
- Select your Resource Pool from the drop-down list of available resource pools. [1]
- Select your Machine Type from the drop-down list.
- Enter the Node Count per Zone.
- The AutoScale Custer is enabled by default. You can disable it if you do not want to automatically scale your Kubernetes Cluster.
- Enter the Minimum Worker per Pool.
- Enter the Maximum Worker per Pool.
- Select the Amazon EKS Role from the Role ARN list.
- Select Resource Group from the drop-down list.
- You can Entitle Users to your Blueprint in one of the following ways:
- Select Everyone to provide access to all users.
- Select Groups & Users to provide access to specific users.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes
- Click Cluster and navigate to Timeline > Click View Execution Logs.
10.3.3 Configure Managed Kubernetes Clusters
10.3.3.1 Overview
Once you’ve deployed a Managed Kubernetes Cluster, you’ll need to configure the following:
- Create a Kubernetes Namespace(see page 0)
- Kubernetes Secret(see page 0)
- Kubernetes Storage Class(see page 0)
- Kubernetes Persistent Volumes (see page 0)
Create a Kubernetes Namespace
Kubernetes lets you create multiple virtual clusters called Namespaces on a single physical cluster. Namespaces let you distribute your cluster resources across multiple users by creating resource quotas. Kubernetes Namespace – acts as a workspace with optional quotas and limits for each pod (containers). Creating a Namespace lets you support environments with multiple users (10 or more users) who are spread across many teams, projects, or regions. Namespaces provide a scope for names so that you can add unique resource-names within a Namespace. You’ll need to separately add these resource-names to each Namespace as these cannot be added on a global level.
You cannot nest Namespaces inside one another and you can have only one Kubernetes resource for a Namespace. You don’t have to create multiple namespaces for segregating slightly varying resources. Example: Different versions of the software within the same Namespace.
In such cases, you can add labels for various versions to differentiate between your resources.
Kubernetes best practice
- It is recommended that you create a dedicated namespace for your applications.
- Avoid using the default namespace.
To create a Namespace:
- Login to your HyperCloud™ Platform (HCP) account.
- Click Service Orchestration and navigate to Containers > Click open your provisioned Kubernetes Cluster.
- Click Action > Click New Namespace.
- Enter a Name for your Namespace in the New Namespace dialog.
- Click Save.
Kubernetes Secret
Kubernetes Secret lets you store and manage your passwords, OAuth tokens, and SSH Keys. It is recommended that you store your credentials in a Secret than defining it in a Pod or a container image. Your Secret credentials are hidden configurations and can be referenced by containers during runtime.
Notes
- You can create a Kubernetes Secret within a namespace.
- Once you create a Secret within a namespace, it can be accessed only by the deployments within the current namespace.
- Refer to the Kubernetes Secret Overview19, for more details
To create a Kubernetes Secret on your HCP portal:
- Login to your HCP Portal account.
- Click Service Orchestration and navigate to Containers > Click open your provisioned Kubernetes Cluster > Click Action > Click New Secret.
- Enter these details in the New Secret dialog:
- Enter a Name for your Kubernetes Secret.
- From the Namespace drop-down list, select a namespace for which you want to create the Secret.
- Select the Secret Type from the drop-down list.
- opaque
- Click Save.
- To view your newly created Kubernetes Secret:
- Click Kubernetes Namespace.
- Click open the Namespace where you created the Kubernetes Secret.
Kubernetes Storage Class
Kubernetes StorageClass lets administrators define classes for the storages they offer. Storage classes can be of the following type:
- Quality-of-service levels
- Backup policies
- Arbitrary policies defined by the cluster administrators.
You can automatically create volumes for a Storage Class using Kubernetes Blueprints.
Note
Storage Classes are not bound to Namespaces.
To create a Storage Class:
- Login to your HCP portal Account.
- Click Service Orchestration and navigate to Containers > Click open your provisioned Kubernetes Cluster > Click Action > Click New Storage Class.
- Enter a Name for your storage Class.
- Click Save.
Kubernetes Persistent Volumes
Persistent Volumes (PV) are pre-created volumes that can be attached to containers during runtime. PV is a piece of storage in a Cluster provisioned by an Administrator or dynamically provisioned using storage classes. In other words, a PV is a resource in the cluster and is a volume plugin like Volumes. However, the lifecycle of a PV is independent of any individual Pod using PV. The PersistentVolume subsystem:
- Abstracts the details of how storage is provided and consumed and,
- Provides an API for users and administrators.
To create a new Persistent Volume:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to Containers > Click open your provisioned Kubernetes Cluster > Click Action > Click New.
- Enter these details in the New Persistent Volume dialog:
- Enter a name for your Persistent Volume Name.
- Select the Storage Class from the drop-down list.
- Select the Reclaim Policy from the drop-down list.
- Select one of these Disk options to create a PV:
- New: enter a Volume Size in GB
- Existing: you’ll need to provide a URI for an existing volume
- Click Save.
10.3.4 Deploy Kubernetes Blueprints
10.3.4.1 Overview
You can deploy a Kubernetes Blueprint on the HyperCloudTM Platform (HCP) using:
- YAML-based Kubernetes Blueprint(see page 0)
- Kubernetes HELM Chart(see page 0)
You can deploy a Kubernetes Cluster using a Blueprints on HCP for the following servicer providers:
- Amazon Elastic Kubernetes Service (EKS)(see page 0)
- Microsoft Azure Kubernetes Service (AKS)(see page 0)
10.3.4.2 YAML based Kubernetes Blueprint
Follow these steps to deploy a Kubernetes blueprint:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > New > K8S > Click Action > Select Import > Click Choose File > Enter this URL: Kubernetes Guestbook Application22. [1]
- Click Save Changes.
- Click open your Kubernetes Blueprint
- Select a Namespace from the drop-down list.
- Click Run. This may take a while.
- You can view your newly created Application by navigating to Service Orchestration > Click Apps. [2]
Notes
- [1] By default, your application will not be able to access the internet. To enable internet access, make changes under kind: service as shown below:
kind: Service spec:
#type : NodePort (Comment this line)
type: LoadBalancer
- [2] Refer to the tutorial for creating a YAML-based Kubernetes Blueprint23.
10.3.4.3 Kubernetes Helm Charts
To deploy a Kubernetes Blueprint using a Kubernetes Helm Chart:
- Download the sample Kubernetes Helm Chart24.
- Create an archive using the following script: tar -cvf mongodb
tar --gzip -cvzf mongodb-5.17.0.tgz mongodb
- Login to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Click New > Click Helm.
- Enter these details in the New Helm dialog:
- Enter a Name for your Kubernetes Helm Chart
- Click Choose File and upload your Helm Chart file in .tgz format ( Example: mongodb-5.17.0.tgz.)
- You can Entitle Users to your Blueprint in one of the following ways:
- Select Only me to keep the Blueprint access private.
- Select Everyone to provide access to all users.
- Select Groups & Users to provide access to specific users.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes.
- To view your newly created Helm Chart:
- Click open your newly created Namespace
- Click Run.
10.3.4.4 Amazon Elastic Kubernetes Service (EKS)
Our HyperCloudTM Platform (HCP) lets you deploy a Kubernetes Cluster using Amazon Elastic Kubernetes Service (EKS.)
[1] Caution
You’ll need at least two Amazon Web Services (AWS) resources from different Availability Zones before deploying Amazon Elastic Kubernetes Service (EKS.)
Follow these steps to deploy a Kubernetes Cluster using Amazon EKS:
- Login to your HCP account.
- Click Service Orchestration and navigate to Containers > Click New to launch the Kubernetes Cluster Wizard.
- Enter these details in the Kubernetes Cluster Wizard:
- Enter a Name for your Kubernetes Cluster.
- Select Amazon Elastic Kubernetes Service (AKS) from the Target drop-down list.
- Select High-Availability from the cluster Type drop-down list.
- Select your Resource Pool from the drop-down list of available resource pools. [1]
- Select your Machine Type from the drop-down list.
- Enter the Node Count per Zone.
- The AutoScale Custer is enabled by default. You can disable it if you do not want to automatically scale your Kubernetes Cluster.
- Enter the Minimum Worker per Pool.
- Enter the Maximum Worker per Pool.
- Select the Amazon EKS Role from the Role ARN list.
- Select Resource Group from the drop-down list.
- You can Entitle Users to your Blueprint in one of the following ways:
- Select Everyone to provide access to all users.
- Select Groups & Users to provide access to specific users.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes
- Click Cluster and navigate to Timeline > Click View Execution Logs.
Microsoft Azure Kubernetes Service (AKS)
The HyperCloudTM Platform (HCP) lets you deploy a Kubernetes Cluster using Microsoft Azure Kubernetes Service (AKS).
Before you begin
Ensure that you have sufficient resources in a Resource Pool.
Deploy a managed Kubernetes Cluster
Follow these steps to deploy a Kubernetes Cluster using Microsoft Azure Kubernetes Service:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to Containers > Click New to launch the Kubernetes Cluster Wizard.
- Enter the following details in the Kubernetes Cluster Wizard:
- Enter a Name for your Cluster.
- From the Cloud drop-down, elect Microsoft Azure Kubernetes Service (AKS.)
- Select the Instance Type from the drop-down. [1]
- Select your Resource Pool.
- Select Machine Type.
- Enter the value for Node Count per Zone.
- Select a Resource Group from the drop-down list.
- Click Save Changes.
- Click open the Cluster and navigate to Timeline > Click View Execution Logs.
Note
- If you get an “Operation could not be completed as it results in exceeding approved standardDFamily Cores quota,” you’ll need to:
- Choose a different instance or,
- Contact your HCP Cloud Administrator requesting an increase in the quota
10.4 Terraform Templates
10.4.1 Overview
You can create a Terraform-based Blueprint on the HyperCloud™Platform (HCP). You can declare the state of your
Cloud Resources in a Terraform Template using two types of configuration files:
- tf: holds the configuration for your cloud resources
- tf: comprises parameter definition, that feeds values into the main.tf when a Terraform is processing blueprints
Terraform blueprints use the Terraform configuration syntax to model the infrastructure of a cloud environment. This includes your infrastructure like Virtual Machines(VMs), networks, and storage. A Terraform blueprint can also comprise of software components. These software components are deployed in your cloud environment. Once you’ve modeled your cloud environment and software components in a blueprint, you’ll be able to use it to create or update your cloud environment.
You can create Terraform templates for these Cloud Service Providers:
- Microsoft Azure(see page 62)
- Amazon Web Service (AWS)(see page 66).
10.4.2 Microsoft Azure
10.4.2.1 Overview
Microsoft Azure Cloud or Azure is a cloud computing service by Microsoft to:
- Test, build, deploy, and manage applications using Microsoft managed data centers
- Support various programming languages, tools, and frameworks
- Microsoft Azure supports both Microsoft-specific and third-party software and systems.
Deploying a Microsoft Azure Terraform Blueprint is a three-step process where you’ll need to:
- Create a Terraform Blueprint(see page 0)
- Provision your Resource using Terraform Blueprint(see page 0)
- Deploy your Terraform Blueprint(see page 0)
Before you begin
Ensure that you have access to at least one resource pool.
10.4.2.2 Create a Terraform Blueprint
Creating a Terraform-based Blueprint is a three-step process. You’ll need to:
- Configure a Terraform Backend State(see page 0)
- Create a Terraform Workspace(see page 0)
- Create a Terraform Blueprint(see page 0)
Configure a Terraform Backend State
A Terraform backend allows for abstraction and determines how a state is loaded, and operations executed. Terraform uses the local backend by default. In the HCP portal, a Terraform Backend state stores the current state of the deployment. [1]
To create a Terraform Backend State:
- Log in to your HCP portal account.
- Click Service Orchestration and navigate to Services > Infra as Code > Backend State > Click + New Backend State.
- Enter the following details in the New backend State dialog:
- Enter a Name for your Backend State.
- Select the Cloud Type from the drop-down list.
- Select your Resource Pool from the drop-down list.
- Enter a brief Description of your Backend State.
- To entitle users to your Backend State, select:
- Only Me: if you do not want anyone to access your backend state.
- Everyone: if you want to share your backend state with everyone.
- Groups & Users: if you want to share the backend state with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes
Note
- [1] If the backend state has no state saved previously, the Terraform plan will provide you an information object which will be created.
- Otherwise, the Terraform output will show updates and delete tasks too, which means existing resources will change if ignored.
Create a Terraform Workspace
Workspaces are collections of infrastructure that run locally. In other words, a workspace is an isolated instance of state data for a Terraform CLI. A Terraform workspace manages each collection of infrastructure with a persistent working directory, which contains a configuration, state data, and variables. You can create multiple workspaces to manage various sets of discrete infrastructure from a single configuration in a single directory. The Terraform cloud manages infrastructure collections through workspaces instead of directories. The terraform workspace organizes your infrastructure into groups. You can create a workspace to manage your collection of infrastructure resources.
To create a Terraform Workspace: [1]
- Login to your HCP account.
- Click Service Orchestration and navigate to Infra as Code > Workspace > Click + New Workspace.
- Enter the following details in the New Workspace dialog:
- Enter your workspace Name.
- Enter a brief description of your Workspace.
- Select your workspace Environment.
- Select the Cloud Type from the drop-down list.
- Select your Resource Pool from the drop-down list.
- Select your Backend State from the drop-down list.
- To entitle users to your new Workspace, select:
- Only Me: if you do not want anyone to access your Workspace.
- Everyone: if you want to share your Workspace with everyone.
- Groups & Users: if you want to share the Workspace with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click New Workspace.
Notes
- [1] Resource pool contains cloud provider information. Therefore, a Terraform deployment does not affect the quota limit of the resource pool.
Create a Terraform Blueprint
Terraform-based blueprints let you create infrastructure on your cloud environment using a template.
Before you begin
If you want to upload a Terraform-based template, follow these steps:
- Download the Sample Terraform Template25.
- Zip the downloaded files. Example: azurepostgres-tf.zip
- Follow Step 2c below to upload your Terraform template to the HCP portal.
Follow these steps to create a Terraform-based blueprint:
- Log in to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Click New > Select Terraform from the drop-down list.
- Enter these details in the New Terraform dialog:
- Enter a Name for your Terraform Template, Example: Azure PostgreSQL (PaaS).
- Enter a brief description of your Terraform Template. This is an optional field.
- You can create a Terraform template using a template file in .zip format. Click Choose File to upload a Terraform template file.
- Configure your Terraform template version. This is an optional step.
- Select the Cloud Type from the drop-down list.
- To entitle users to your Terraform template, select:
- Only Me: if you do not want anyone to access your Terraform template.
- Everyone: if you want to share your Terraform template with everyone.
- Groups & Users: if you want to share your Terraform template with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- If you are a Cloud Administrator, you can choose All Tenants to make the template available to all the tenants.
- Click Create.
10.4.2.3 Provision your Resource using Terraform Blueprint
To provision your Microsoft Azure resource using a Terraform blueprint:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Terraform > Click open your Terraform Blueprint to view Blueprint Azure Postgres (PaaS.)
- Review your Terraform details on the Overview page, and click Next.
- Enter these details in the workspace page:
- Select New from the workspace Type drop-down list.
- Enter a Name for your Workspace.
- Provide a brief Description of your new Workspace.
- Select the Environment Type from the drop-down list.
- Select the Cloud Type from the drop-down list.
- Select the Resource Pool from the drop-down list.
- Select the Backend State for your new Workspace.
- To entitle users to your Terraform template:
- Only Me: if you do not want anyone to access your Terraform template.
- Everyone: if you want to share your Terraform template with everyone.
- Groups & Users: if you want to share your Terraform template with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Select the Workspace Type - Existing, and click Validate. [1]
- From the Define Variables page, click Action and enter the variables in your test case. [2] Example: rg_name: “hgprod-tf-rg” to define your Resource Group.
- Click Plan and review the Successful Plan Output. [3]
- Click Apply.
- Click open your Workspace.
- Click Timeline to monitor the Terraform provisioning status.
- Once you’ve successfully provisioned your Terraform template, click the Resource to view the resources created via the Terraform template.
Notes
- [1] If you are deploying your Terraform template for the first time, it ensures that it does not delete or update your existing resources.
- If any of your resources are slated for deletion or updates, the template verifies that this is intentional before performing these tasks.
- [2] All variables must be enclosed in double-quotes.
- [3] The Successful Plan Output lets you know the overlap between existing Workspaces. This enables you to avert the destruction of an existing deployment.
You can create your own templates. Refer to your Terraform Microsoft Azure Documentation26
10.4.2.4 Deploy your Terraform Blueprint
Once you’ve provisioned a Terraform Blueprint, you’ll need to deploy it. Follow these steps to deploy your
Terraform Blueprint:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Terraform > Click open your Terraform Blueprint.
- Select your Workspace and click Validate.
- Check your Terraform variables for syntax errors by clicking Validate.
- Click Plan to create a plan of execution and review the changes to your deployed Resource.
- Click Apply to deploy your Blueprint and configure your resources in the cloud provider.
10.4.3 Amazon Web Service (AWS)
10.4.3.1 Overview
Amazon Web Services (AWS) is a subsidiary of Amazon that provides these metered pay-as-you-go services:
- On-demand cloud computing platforms
- APIs to individuals, companies, and governments
Deploying an AWS Terraform Blueprint is a three-step process where you’ll need to:
- Create a Terraform Blueprint(see page 0)
- Provision your Resource using Terraform Blueprint(see page 0)
- Deploy your Terraform Blueprint(see page 0)
Before you begin
Ensure that you have access to at least one resource pool.
10.4.3.2 Create a Terraform Blueprint
Create a Terraform-based Blueprint is a three-step process. You’ll need to:
- Configure a Terraform Backend State(see page 0)
- Create a Terraform Workspace(see page 0)
- Create a Terraform Blueprint(see page 0)
Configure a Backend State
A Terraform backend allows for abstraction and determines how a state is loaded, and operations executed. Terraform uses the local backend by default. In the HCP portal, a Terraform Backend state stores the current state of the deployment. [1]
To create a Terraform Backend State:
Log in to your HCP portal account
- Click Service Orchestration and navigate to Services > Infra as Code > Backend State > Click + New Backend State.
- Enter the following details in the New backend State dialog:
- Enter a Name for your Backend State.
- Select the Cloud Type from the drop-down list.
- Select your Resource Pool from the drop-down list.
- Enter a brief Description of your Backend State.
- To entitle users to your Backend State, select:
- Only Me: if you do not want anyone to access your backend state.
- Everyone: if you want to share your backend state with everyone.
- Groups & Users: if you want to share the backend state with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes.
Note
- [1] If the backend state has no state saved previously, the Terraform plan will provide you an information object which will be created.
- Otherwise, the Terraform output will show updates and delete tasks too, which means existing resources will change if ignored.
Note
- [1] If the backend state has no state saved previously, the Terraform plan will provide you an information object which will be created.
- Otherwise, the Terraform output will show updates and delete tasks too, which means existing resources will change if ignored.
Create your Terraform Workspace
Workspaces are collections of infrastructure that run locally. In other words, a workspace is an isolated instance of state data for a Terraform CLI. A Terraform workspace manages each collection of infrastructure with a persistent working directory, which contains a configuration, state data, and variables. You can create multiple workspaces to manage various sets of discrete infrastructure from a single configuration in a single directory. The Terraform cloud manages infrastructure collections through workspaces instead of directories. The terraform workspace organizes your infrastructure into groups. You can create a workspace to manage your collection of infrastructure resources.
To create a Terraform Workspace: [1]
- Login to your HCP account.
- Click Service Orchestration and navigate to Infra as Code > Workspace > Click + New Workspace.
- Enter the following details in the New Workspace dialog:
- Enter your workspace Name.
- Enter a brief description of your Workspace.
- Select your workspace Environment.
- Select the Cloud Type from the drop-down list.
- Select your Resource Pool from the drop-down list.
- Select your Backend State from the drop-down list.
- To entitle users to your new Workspace, select:
- Only Me: if you do not want anyone to access your Workspace.
- Everyone: if you want to share your Workspace with everyone.
- Groups & Users: if you want to share the Workspace with specific users or groups.
Enter the first three alphabets of the username in the Users drop-down and select the username
Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click New Workspace.
Notes
- [1] Resource pool contains cloud provider information. Therefore, a Terraform deployment does not affect the quota limit of the resource pool.
Create a Terraform Blueprint
Terraform-based blueprints let you create infrastructure on your cloud environment using a template.
Before you begin
If you want to upload a Terraform-based template, follow these steps:
- Download the Sample Terraform Template27.
- Zip the downloaded files. Example: aws-s3-bucket-tf.zip
- Follow Step 2c below to upload your Terraform template to the HCP portal.
Follow these steps to create a Terraform-based blueprint:
- Log in to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Click New > Select Terraform from the drop-down list.
- Enter these details in the New Terraform dialog:
- Enter a Name for your Terraform Template, Example: AWS S3 Bucket.
- Enter a brief description of your Terraform Template. This is an optional field.
- You can create a Terraform template using a template file in .zip format. Click Choose File to upload a Terraform template file.
- Configure your Terraform template version. This is an optional step.
- Select AWS from the Cloud Type drop-down list.
- To entitle users to your Terraform template, select:
- Only Me: if you do not want anyone to access your Terraform template.
- Everyone: if you want to share your Terraform template with everyone.
- Groups & Users: if you want to share your Terraform template with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- If you are a Cloud Administrator, you can choose All Tenants to make the template available to all the tenants.
- Click Create.
10.4.3.3 Provision your Terraform Blueprint
Once you’ve created a Terraform workspace, you can provision your Terreform Blueprint on your Amazon Web Service (AWS) resource. Follow these steps to provision your Terraform Blueprint:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Terraform > Click open your Terraform Blueprint.
- From the Blueprint Details page:
- Review your blueprint Overview, and click Next.
- Select New Workspace Type from the Workspace page. i. Enter these details to create a new workspace:
- Enter a Name for workspace.
- Enter a brief Description of the new workspace.
- Select the following configurations for your workspace from the drop-down list:
- Select your workspace Environment
- Select Cloud Type
- Select your Resource Pool
- Select the backend state
- To entitle users to your new Workspace, select:
- Only Me: if you do not want anyone to access your Workspace.
- Everyone: if you want to share your Workspace with everyone.
- Groups & Users: if you want to share the Workspace with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Create Workspace and Validate.
- Alternately, you can select an Existing Workspace Type from the drop-down list, if you’ve configured one already.
- From the Define Variables page, click Action and provide the value for Bucket_Name. Example: "hg-prod-bk1" [1]
- Click Plan and Review the Successful Plan Output. [2]
- Click Apply.
- Click open your Workspace.
- Click Timeline to monitor the Terraform provisioning status.
Once you’ve successfully provisioned your Terraform template, click the Resource to view the resources created via the Terraform template
Note
- [1] All variables must be enclosed in double-quotes.
- [2] If you are deploying your Terraform template for the first time, it ensures that it does not delete or update your existing resources.
- If any of your resources are slated for deletion or updates, the template verifies that this is intentional before performing these tasks.
- You can create your own templates. Refer to your Terraform Amazon Web Services Documentation28.
10.4.3.4 Deploy your Terraform Blueprint
Once you’ve provisioned a Terraform Blueprint, you’ll need to deploy it. Follow these steps to deploy your
Terraform Blueprint:
- Login to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Terraform > Click open your Terraform Blueprint.
- Select your Workspace and click Validate.
- Check your Terraform variables for syntax errors by clicking Validate.
- Click Plan to create a plan of execution and review the changes to your deployed resource.
Click Apply to deploy your Blueprint and configure your resources in the cloud provider
11. HyperCloud™ Plugins
11.1 Overview
Note
Among various Blueprint types, only VMs support Plugins.
The HyperCloud™ Platform (HCP) lets you create and execute scripts on Virtual Machines (VMs.) These scripts are called Plugins on the HCP portal. The HCP portal supports these interpreters:
- Bash
- Python
- Perl
- Ruby
- PowerShell
- Puppet
To run a Plugin on a VM, you’ll need to install the HCP agent. You can install the HCP agent on the VM using a Blueprint or the Free-from wizard.
Refer to these sections to:
- Create your Plugin(see page 71)
- Run your plugin on-demand(see page 72)
- Add Plugin to a Blueprint using parameters(see page 73)
- Add Plugin to a blueprint without using parameters(see page 75)
11.1.1 Create your Plugin
Plugins are Docker containers that perform pre-defined tasks. These tasks are executed as steps in your HCP pipeline. You can use Plugins to deploy code, publish artifacts, send notifications, etcetera. Follow these steps to create a Plugin:
- Log in to your HCP portal account.
- Click Service Orchestration and navigate to Appstore > Plugins > Click New > Select the Plugin Type from the drop-down list.
- Enter these details in your Script Plugin dialog:
- Provide a Name for your Plugin.
- Click +Advance Configuration and enter these details:
- Enter a plugin Version.
- Enter a brief description of your new Script Plugin.
- Select the License from the drop-down list.
- Enter the Timeout for your Plugin in seconds.
- Enter the following in the Scripts text-box: #!/bin/bash
[1] Use the script below to update your packages:
echo "Updating OS packages"
sudo apt-get update && sudo apt-get upgrade -y || yum update -y echo "Ping Test to Google DNS Server" ping $IP_ADDRESS -c 8|
- If you want to add conditions for your Script Plugin run:
- Click Arguments+
- Enter the argument Key and its Value. Example:
Key: IP_ADDRESS Value: 8.8.8.8
- To entitle users to your Plugin, select:
- Only Me: if you do not want anyone to access your Plugin.
- Everyone: if you want to share your Plugin with everyone.
- Groups & Users: if you want to share the Plugin with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- Click Save Changes.
- Once you create your Plugin, the HCP portal will create a unique REFERENCE ID for the same. Example: Q5G9A
Note
- [1] The HCP portal will replace all occurrences of:
- $IP_ADDRESS in the Plugin with the value8.8.8
- The HCP portal will ignore all occurrences of:
- ${IP_ADDRESS} in the Plugin
11.1.2 Run your plugin on-demand
Follow these steps to run your plugins on-demand on an existing VM without having to connect to the VM: [1]
- Log in to your HCP portal account.
- Click on Service Orchestration and navigate to Services > VM > Click open your VM > Click Plugins
- From the Add Plugins drop-down, select your Plugin. [2]
- To add more plugins, click Add Plugins and select your Plugin from the drop-down list.
- You can provide conditional arguments for each Plugin under +Advance Configuration. Enter the following details under +Advance Configuration:
- Valid Exit Codes: when you state a valid exit code, the HCP portal will ignore these codes. If you do not provide an exit code, the HCP portal will substitute it with the default value, which is 0.
- Order: this lets you define the sequence for the Order of executing the Plugin. [3]
- Click Run Plugin.
- Click Timeline Tab and wait for a few minutes to see the status of your run
Note
- [1] You’ll need to install the HyperCloud™ Agent on the VM before running a plugin.
- The Agent Status must be Connected.
- [2] If your Plugin has conditional arguments, you can view the same under +Advanced Configuration.
- [3] If you do not provide the Order for executing a plugin, all plugins added to the VM will run simultaneously.
11.1.3 Add Plugin to a Blueprint using parameters
You can use parameters in blueprints to pass or override the default plugin values. You can add a plugin to different blueprints and customize your deployments using parameters. Follow these steps to add parameters to your Plugin for an existing blueprint:
- Log in to the HCP portal account.
- Click Service Orchestration and navigate to AppStore > Plugins > Copy the REFERENCE ID of your Plugin.
- Click AppStore and navigate to New > Select Machine Compose Blueprint from the drop-down list.
- Enter the following details in your Machine Compose Blueprint dialog:
- Enter a Name for the new Machine Compose Blueprint.
- Enter the brief description of your Machine Compose Blueprint.
- Select the blueprint Type from the drop-down list.
-
- Enter the Host in the Key text-box. The Key is visible to your HCP user.Enter the plugin snippet in the YAML text-box as shown below: [1]
- Select the Resource Pool from the drop-down list
- Click Customizable Params + and enter the following details:
- Enter the internal reference to the Plugin.
Example: Machine.plugins.Q5G9A.arguments.IP_ADDRESS
The HCP portal will use this reference to run the Plugin on your VM using the YAML blueprint parameter values.
- Enter the Value for your Key. If you do not enter a value for your Key, the HCP portal will default the value to 8.8.8.
- Select the Mandatory check-box to make it compulsory for your HCP users to provide a Key-Value before creating a VM. [2]
- Select the Password check-box to ensure that your sensitive data is masked during input and execution.
- Click Save Changes
- To use these parameters in your blueprint:
- Click open your blueprint.
- Click Request Params.
- Enter the Host in the Key text-box. The Key is visible to your HCP user.Enter the plugin snippet in the YAML text-box as shown below: [1]
Notes
- If your parameters are marked mandatory, you’ll need to enter a Key-value before you can create a
VM.
- If you haven’t made your parameters mandatory, the HCP portal will:
- Create a VM and,
- Execute the Plugin using the default value 8.8.8
11.1.4 Add Plugin to a blueprint without using parameters
You can add a plugin to a blueprint by appending the plugin YAML values to the blueprint YAML. To add a plugin to an existing MACHINE_COMPOSE Blueprint YAML:
- Log in to your HCP portal account.
- Click Service Orchestration and navigate to AppStore > Plugins > Copy your plugin REFERENCE ID.
- Navigate to AppStore > Click New > Select Machine Compose Blueprint from the drop-down list.
- Enter the following details in the Machine Compose Blueprint dialog:
- Enter a Name for your new Machine Compose Blueprint.
- Enter a brief Description of your Machine Compose Blueprint.
- Select the blueprint Type from the drop-down list.
- Enter the plugin snippet in the YAML text-box. [1]
- Select the Resource Pool from the drop-down list.
- Select the Cost Profile.
- To entitle users to your blueprint, select:
- Only Me: if you do not want anyone to access your blueprint.
- Everyone: if you want to share your blueprint with everyone.
- Groups & Users: if you want to share the blueprint with specific users or groups.
- Enter the first three alphabets of the username in the Users drop-down and select the username.
- Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
- If you are a Cloud Administrator, you can select All Tenants to share your template with all the HCP tenants.
- Click Save Changes.
- Once you’ve configured your plugin parameters, you can create your VM. Follow these steps to create your
VM:
- Click open your blueprint.
- Click Create Machine.
- Once your VM is provisioned:
- The HyperCloudTM Agent will be automatically installed and,
- All the plugins in the blueprint are executed in the Order defined in the Blueprint YAML.
Comments
0 comments
Please sign in to leave a comment.