Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Overview


Service Orchestration is the coordination and arrangement of multiple services exposed as a single aggregate service. Developers utilize Service Orchestration to,

  • Support the automation of business processes by loosely coupling services across different applications and enterprises.

    • Creating second-generation, composite applications.

  • In other words, service orchestration is the combination of service interactions to:

    • Create higher-level business services.

This topic describes the requirements for HyperCloud™ Platform (HCP) to manage & provision Virtual Machine(VMs) to multiple cloud providers:

VMware vSphere Provider Requirements


VMware vSphere was formerly known as VMware Infrastructure. This is the brand name for VMware's suite of server virtualization products that:

  • Includes its ESXi hypervisor and vCenter management software.

  • Undergoes periodic revisions and updates to add features; modifications to the application program interface (API), and changes to the ESXi shell.

The following are the minimum requirements for managing VMware vSphere using HCP:

  • General:

    • VMware vCenter Server is mandatory. [1]

  • Compute & Storage:

    • HyperCloud uses the concept of an Availability Zone which maps to:

      • One or more vSphere datacenters.

      • One or more vSphere clusters with one or more shared storages (VSAN, iSCSI, NFS, or FCP).

  • Virtual Networking:

    • One or more distributed switches managing the vSphere Cluster Networking.

    • One or more routable (DHCP) VLANs backed distributed port groups for VMs preconfigured in vCenter Server.

    • Distributed Switch physical uplinks must be configured to trunk all VM VLANs.

  • Authentication:

    • Use a service account (example: hc_vcenter_svc@vsphere.local) for connecting the HyperCloud to vCenter Server with the following permissions:

      Datastore > Browse 
      Datastore > Allocate Space 
      Virtual Machine > Configuration > <Select All Permissions>
      Virtual Machine > Inventory > <Select All Permissions> 
      Interaction > <Select All Permissions> 
      Provisioning > Customize 
      Provisioning > Deploy Template 
      Provisioning > Read Customization specifications 
      Network > Assign Network 
      Resource > Assign Virtual Machine to Resource Pool
  • VM Templates:

    • VM Templates must be pre-created and marked as templates in the VMware vCenter Server. [2]

Information

  • [1] SaaS-based HyperCloud deployment requires access to VMware vCenter via Public NAT.

  • [2] Refer to the VM Preparation guidelines.

Microsoft Hyper-V Provider Requirements


Microsoft Hyper-V is virtualization software that, well, virtualizes the software. It can not only virtualize the operating systems but also the entire hardware components, such as hard drives and network switches. Unlike Fusion and Virtualbox, Hyper-V is not limited to the user’s device; you can use it for server virtualization as well.

The following are minimum requirements for managing Microsoft Hyper-V using HCP:

  • General:

    • Hyper-V Nodes must be set up in a Fail Over Cluster. [1]

  • Compute & Storage:

    • HyperCloud manages Hyper-V nodes using a Host agent (proxy).

    • This agent must be installed on all Hyper-V Server.

    • Update the value of < HCP_Proxy_Password > using the following command with Run As Administrator privileges:

      PowerShell.exe -ExecutionPolicy Bypass 
      -Command "get https://repo.skygrid.cloud/repo/6.x/6.5.2/LATEST/proxy/HyperVProxy_Install_Windows_v1.3.ps1 
      OutFile ProxyInstaller.ps1; & .\ProxyInstaller.ps1 4434 <HCP_Proxy_Password>"
    • Hyper-V Node must be configured with Clustered Storage Volumes.

      • One Cluster Shared Volume (CSV) for VM Templates (vhdx) Storage.

      • One Cluster Shared Volume (CSV) for deploying VMs using HyperCloud Portal.

    • HyperCloud uses the concept of an Availability Zone which maps to,

      • One Hyper-V Failover Cluster Manager

      • One Cluster Shared Volume for VM Template Storage.
        Example: C:\CSVs\Hypercloud_Templates

      • One Cluster Shared Volume for deploying VMs.
        Example: C:\CSVs\Hypercloud_Production.

  • Virtual Networking:

    • Hyper-V vmSwitch and its NIC must be configured to trunk all or required VLANs.

    • DHCP IP Addressing must be configured for the VLAN selected during VM Provisioning.

    • VM VLANs must be routable and be able to reach the HyperCloud portal on port 5671. [2]

  • Authentication:

    • Create a dedicated Windows AD service account
      Example: svc_hcp@domain.com with the following permissions:

      • must belong to the Active Directory Domain.

      • must not be a member of Domain Admins Group.

      • must be a member of local administrators on each Hyper-V Server.

      • must be allowed Logon as a service right on each Hyper-V Server.

  • VM Templates:

    • VM Templates must be provided as VHDX files and placed in the Share CSV. This path will be configured in the Availability Zone. [3]

Information

Open Virtualization Manager (Ovirt) KVM Provider Requirements


Following are the minimum requirements for managing Ovirt KVM using HyperCloud:

  • General:

    • Ovirt Manager is mandatory.

  • Compute & Storage: HyperCloud uses the concept of an Availability Zone which maps to:

    • One data center (local or Shared).

    • One storage domain (data) for VMs.

    • One storage domain for VM Templates (local or Shared).

  • Virtual Networking:

    • At least one VLAN backed network pre-created in Ovirt Manager.

    • VM Networks backed by VLANs must have the DHCP IP Addressing enabled.

    • Ovirt virtual switch physical uplinks must be configured to trunk all VM VLANs.

  • VM Templates:

    • VM Templates must be pre-created in the same datacenter as the cluster. [1]

Information:
[1] Refer VM Template Preparation guidelines.

VMware vCloud Director Provider


Following are minimum requirements for managing VMware vCloud Director using HCP:

  • General:

    • VMware vCloud Director must be accessible to HCP using FQDN.

    • VMware vCloud Director must be configured with VMware NSX.

      • Network Pools must be backed by VxLAN. [1]

    • For connecting HCP to vCloud Director Organization only, ensure that Org Admin User is configured with the Organization Administrator role.

  • Compute & Storage (Organization vDC):

    • Minimum one organization with one organization VDC.

    • Organization vDC must use Storage Policy. Network Pool must be backed by VxLAN i.e. greater than 1000 if deploying a large number of VMs.

  • Virtual Networking:

    • Each Organization vDC must have at least one Edge Gateway connected to the provider network.

    • The provider network must be configured and have a set of IP Pool for NATing HCP deployed VMs. [2]

    • Each Organization must have at least one Organization Networks preconfigured.

    • vApp Networks will be created by HCP using the Network Pool backed by VxLAN. [3]

  • VM templates

    • VM Templates must be pre-created and added to vCD Public or Organization Catalog. [4]

Information:

  • [1] HCP VM deployment translates to one vApp in vCloud Director. It, therefore, creates vApp networks when one VM is deployed via HCP.

  • [2] HCP will assign and configure NAT on Edge Gateway using IPs from provider Network if configured in HCP IP Pool.

  • [3] HCP deploys one vApp per VM and hence creates vApp networks for each VM.

  • [4] Multi-Tier vApp templates are not supported. This feature is available using HCP Blueprints.

  • Refer to VM Template Preparation guidelines.

Firewall Requirements


A firewall is a network security device that monitors incoming and outgoing network traffic and permits or blocks data packets based on a set of security rules. Its purpose is to establish a barrier between your internal network and the incoming traffic from external sources such as the internet in order to block malicious traffic like viruses and hackers.

All applicable firewalls must be configured with the following ports:

Caution

HyperGrid will provide the Kubernetes Load Balancer IP address mentioned below.

Service

Source

Destination

Protocol/Ports

Authentication

HyperCloud AMPQ IP

AD/LDAP Services

TCP: 389,636



SAML IDP

TCP: 443

Service Orchestration

HyperCloud AMPQ IP

Microsoft Failover Cluster 1

TCP: 4434 1



VMware vCenter Server 1

TCP: 443 1



Ovirt Manager (KVM) 1

TCP: 443 1



VMware vCloud Director 1

TCP: 443 1





Service Orchestration

HyperCloud AMPQ IP

Linux/Windows VMs

TCP: 22 2

Notification

HyperCloud AMPQ IP

SMTP Relay Mail Server

TCP: 25,465, 587

Agent

Linux/Windows VMs

HyperCloud™ URL & AMPQ IP

TCP: 443, 5671


Linux/Windows VMs

https://repo.skygrid.cloud/*

TCP: 443

Notes:

  • (1) Ensure Private Cloud Providers have a public NAT only to SaaS HyperCloudTM Portal IP Addresses provided by HyperGrid.

  • (2) Only needed if HyperCloudTM will install the HyperCloudTM Agent via SSH.

    • Ignore if Agent is pre-installed or installed on demand via cloud-init (Recommended) for VMware/Hyper-V/KVM Templates

VM Template Preparation


VM Template Preparation (non-cloud-init)


Before You Begin

Ensure VM (Template) has network connectivity to https://repo.skygrid.cloud/repo/ & Linux Repository.

VMware vSphere

  • Guest Customization:

    • Create VMware Guest Customization with the exact same name as the VM Template Name.
      Example: When HCP deploys a VM from the Template VMT-Win2k16x64 it will use the Guest Customization with the name VMT-Win2k16x64 if available to customize the provisioned VM.(1)

  • Guest Customization Configuration:

    • Computer Name: Select use the Virtual Machine Name.

    • Network Type: DHCP

    • Windows Guest Customization:

      • Login Automatically as Administrator: 1

      • Run Once: Add the following in the Run once Command:

         

c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy bypass -Command "Invoke-WebRequest

https://repo.skygrid.cloud/snapshot/6.5.2/LATEST/agents/hcp_agent_install_windows.ps1 OutFile c:\hcp_agent_install_windows.ps1"

c:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy bypass -Command "c:\hcp_agent_install_windows.ps1

https://repo.skygrid.cloud/snapshot/6.3.1/LATEST/

AUTO_INSERT < HyperCloud_Platform_PROD_FQDN>_https://<HyperCloud_Platform_PROD_FQDN > 5671 docker.skip (2)

  • VM Tools:

    • The latest VMware Tools must be installed on the VM Template or Guest Customization will fail.

Information

Refer VMware Supported OS for Guest Customization for supported Guest OS.

Microsoft Hyper-V Requirements:

  • Hyper-V Templates must be placed in a Cluster Shared Volume in the form of VHDX files.

  • Ensure Hyper-V Integration Tools & service is installed and configured. (3)

Open Virtualization (Ovirt) KVM Requirements:

  • Ovirt Guest Agent & tools must be installed as described in Ovirt Guest Agent and Tools.

  • Ensure VM Templates are in the same datacenter used in HyperCloud to configure the Availability Zone.

VMware vCloud Director:

  • Ensure VM Tools is installed on vApp Templates. (4)

  • Ensure vApp Templates contain only one Tier (Single VM). It must be added to at least one Organization Catalog. (5)

  • Guest OS must belong to the list of the supported OS in VMware Supported OS for Guest Customization.

  • When creating a Template from an existing vApp, set vApp network = none.

  • VM Template Preparation (Pre-Install HyperCloud Agent) (Recommended):
    This topic describes preinstalling the agent on VM Templates so HyperCloud does not need to install the agent on VMs deployed from the VM Template. (6)

    • Linux VM Templates (CentOS/Ubuntu/RHEL):

      • Update the values for HCP_FQDN & run the following command on the Linux VM Template.

/bin/yum -y install curl

/usr/bin/apt-get update && /usr/bin/apt-get -y install curl; curl -Ls

https://repo.skygrid.cloud/repo/6.x/6.5.2/LATEST/agents/hcp_linux_agent.sh

bash -s

https://repo.skygrid.cloud/repo/LATEST

AUTO_INSERT <HCP_FQDN>_https://<HCP_FQDN> 5671 docker.skip

  • Windows VM Templates: 

    • Update HCP_FQDN & run the following in CMD Prompt

PowerShell.exe -ExecutionPolicy Bypass -Command

 "Invoke-WebRequest

https://repo.skygrid.cloud/repo/6.x/6.5.2/LATEST/agents/hcp_agent_install_windows.ps1

OutFile hcp_agent_install_windows.ps1 ; & .\hcp_agent_install_windows.ps1 https:// repo.skygrid.cloud/repo/LATEST 

AUTO_INSERT <HCP_FQDN>_https://<HCP_FQDN> 5671 docker.skip"(7)

Caution

  • (1) If the same vCenter Server will be used by more than one HCP, then clone the same VM Template for each HCP.

    • Example: use a Prefix, VMT-HCP-PROD-Win2k16x64, and VMT-HCP-QA-Win2k16x64 which will be used by the PROD and QA HCP respectively.

      • Clone the Guest Customization too and ensure the name matches the VM Template name.

  • (2) Update the HyperCloud_Platform_PROD_FQDN to HyperCloud_Platform_QA_FQDN for customizing VMs deployed from other HyperCloud_Platform(s).

  • (3) For Linux VMs, remove the older version of the kernel and reboot the system.

  • (4) Only vApp Templates created in vCloud or imported from vCenter are supported. ISO and OVA formats are not supported.

  • (5) Use HyperCloud Blueprints to create a multi-tier deployment.

  • (6) Use this only if the VMs deployed using HyperCloud do not have internet access.

  • (7) For Hyper-V & KVM, run the following before shutting down the VM Template:
    sysprep.exe /oobe /generalize /shutdown /mode:vm # /unattend: Use an unattend.xml if available.

VM Template Preparation (cloud-init)


Before You Begin

  • Ensure that the VM (Template) has network connectivity to https://repo.skygrid.cloud.

  • Ensure that VM has internet access to Linux repositories.

VMware vSphere Requirements:

  • VM Tools:

    • VMware Tools must be installed on the VM Template or customization will fail.

    • Refer VM Template Preparation (Installing Cloud-Init)

Microsoft Hyper-V Requirements:

  • Hyper-V Templates must be placed in a Cluster Shared Volume in the form of VHDX files.

  • Refer VM Template Preparation (Installing Cloud-init) below,

    • Open Virtualization (Ovirt) KVM Requirements

VMware vCloud Director: Not Supported


VM Template Preparation (Installing Cloud-init):

  • Linux VM Templates (CentOS/Ubuntu): Update the following values:

    #CentOS
    #----------
    sudo yum update -y
    sudo yum install -y cloud-init

    # Update /etc./cloud/cloud.cfg
    # to allow root and password authentication run the following command
    sudo sed -i 's/ssh_pwauth: false/ssh_pwauth: true/g' /etc./cloud/cloud.cfg
    sudo sed -i 's/disable_root: true/disable_root: false/g' /etc./cloud/cloud.cfg

    #vim:syntax=yaml
    datasource_list: ["NoCloud", "ConfigDrive"]


    CentOS 6.x and below*

    #---------------------------

    #remove udev rules for network adapters
    rm /etc./udev/rules.d/70-persistent-net.rules


    #Ubuntu

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get install cloud-init -y

    #Edit 90_dpkg.cfg to remove items in datasource_list except the following
    datasource_list: [ NoCloud, ConfigDrive, None ]


  • Windows VM Templates (Window 2016):

    • Windows VM requires cloudbase-init for Guest Customization. Run the following command to install Cloudbase-init. (3)


Update the following 3 files as shown below before running sysprep via CloudBase-Init Installer

C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf

[DEFAULT]
username=Admin
groups=Administrators
first_logon_behaviour=no
inject_user_password=false
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=true
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
verbose=true
debug=true
logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
logging_serial_port_settings=
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService
plugins=cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,
        cloudbaseinit.plugins.common.mtu.MTUPlugin,
        cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,
        cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,
        cloudbaseinit.plugins.common.userdata.UserDataPlugin,
        cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts|


C:\Program Files\Cloudbase Solutions\Cloudbase-Init\confcloudbase-init-unattend.conf

[DEFAULT]
username=Admin
groups=Administrators
first_logon_behaviour=no
inject_user_password=false
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=true
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
verbose=true
debug=true
logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init-unattend.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
logging_serial_port_settings=
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
metadata_services=
plugins=
allow_reboot=false
stop_service_on_exit=false
check_latest_version=false

C:\Program Files\Cloudbase Solutions\Cloudbase-Init\confunattend.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
  <settings pass="generalize">
    <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
    </component>
  </settings>
  <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
      <OOBE>
        <HideEULAPage>true</HideEULAPage>
        <NetworkLocation>Work</NetworkLocation>
        <ProtectYourPC>3</ProtectYourPC>
        <SkipMachineOOBE>true</SkipMachineOOBE>
        <SkipUserOOBE>true</SkipUserOOBE>
      </OOBE>
      <UserAccounts>
        <AdministratorPassword>
            <Value>SAB5AHAAZQByAEcAcgBpAGQAMQAyADMAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBQAGEAcwBzAHcAbwByAGQA</Value>
<PlainText>false</PlainText>
            </AdministratorPassword>
       </UserAccounts>
    </component>
  </settings>
  <settings pass="specialize">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <RunSynchronous>
        <RunSynchronousCommand wcm:action="add">
          <Order>1</Order>
          <Path>cmd.exe /c ""C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Scripts\cloudbase-init.exe" --config-file "C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf" && exit 1

exit 2"</Path>
          <Description>Run Cloudbase-Init to set the hostname</Description>
          <WillReboot>OnRequest</WillReboot>
        </RunSynchronousCommand>
      </RunSynchronous>
    </component>
  </settings>
</unattend>

Once all 3 files are edited, return to the Cloudbase-Init installer and select Sysprep and click Finish. This will generalize the system and shut down the VM. Mark the VM as a template based on the Hypervisor of your choice.

Caution

  • (1) For older Linux distributions remove the /etc./udev/rules.d/70-persistent-net.rules file before shutting down the VM.

  • (2) Remove the NIC on the VM prior to converting the VM to Template.

    • Refer to VM Template Preparation (Installing Cloud-Init).

  • (3) Before installing cloudbase-init in the VM Template, take a snapshot of the VM.

  • (4) Ensure the Administrator default password is configured. In this Example: HyperGrid123.

  • No labels