UpCloud

Overview

UpCloud is a cloud hosting provider that offers both Linux and Windows virtual machines on their MAXIOPS infrastructure which is billed as I.A.A.S ( infrastructure-as-a-service ). They have datacenters based in the UK, USA, Germany, Netherlands, Singapore and Finland. Servers can be created a lightning fast 45 seconds with their faster than SSD technology.

Features

  • Virtual Machine Provisioning
  • Containers
  • Backups / Snapshots
  • Migrations
  • Auto Scaling
  • Load Balancing
  • Remote Console
  • Periodic Synchronization
  • Lifecycle Management and Resize
  • Inventory
  • Cloudinit

Requirements

An UpCloud User with API, Server and Storage permissions is required.

To enable API access for a Main Account UpCloud User:

  1. Login to UpCloud
  2. Select My Account -> User Accounts
  3. Select Change on the target user
  4. Check the box for API connections: Allow API connections from
  5. Under Access Permissions ->  Allow access to individual servers, check the box for User has control access to all servers.
  6. Under Access Permissions ->  Allow control access to individual storages, check the box for User has control access to all storages
  7. Save

To Enable API, API, Server and Storage permissions for a SubAccount User:

When creating or editing a Sub Account UpCloud user:

  1. Check the box for API connections: Allow API connections from
  2. Under Access Permissions ->  Allow access to individual servers, check the box for User has control access to all servers.
  3. Under Access Permissions ->  Allow control access to individual storages, check the box for User has control access to all storages
  4. Save

Adding an UpCloud Cloud

Configure

  1. Navigate to Infrastructure -> Clouds

  2. Select + Create Cloud Button

  3. Select UpCloud from the Add Cloud modal

  4. Select NEXT

  5. Enter the following:

    NAME

    Name of the Cloud in Morpheus

    CODE

    Unique code used for api/cli, automation and policies.

    LOCATION

    Description field for adding notes on the cloud, such as location.

    VISIBILITY

    For setting cloud permissions in a multi-tenant environment. Not applicable in single tenant environments.

    TENANT

    If Visibility is set to Private, select the Tenant the Cloud resources will assigned to.

    ENABLED

    When disabled, automatic Cloud sync is paused and the Cloud will not be selectable for provisioning.

    AUTOMATICALLY POWER ON VMS

    When enabled, Morpheus will maintain the expected powered on state of managed VM’s and power on any managed VM’s in the cloud that have been shut down for unknown reasons (not powered off by Morpheus) to ensure availability of services.

    Note

    When “AUTOMATICALLY POWER ON VMS” is enabled, the power state of managed VM’s should be maintained in Morpheus. This setting is not applicable to discovered/unmanaged resources.

    USERNAME

    UpCloud User Account Username

    PASSWORD

    UpCloud User Account Password

    ZONE

    Select UpCloud Datacenter to scope cloud to

    INVENTORY
    • Off: Existing UpCloud Servers will not be inventoried in Morpheus
    • Basic: Existing Servers are Inventoried with Power state, Memory and Cores statistics synced.
    • Full: Existing Servers are Inventoried with Power state, Memory and Cores statistics, plus IP Addresses, Storage Info, and Console VNC Information.

    Note

    Full Inventory level recommended. Basic Inventory level can reduce Cloud Sync times when inventorying Datacenters with large amounts of servers. Credentials need to be added by editing the Virtual Machine in order to connect.

    The Cloud can now be added to a Group or configured with additional Advanced options.

    DOMAIN

    Specify a default domain for instances provisioned to this Cloud.

    SCALE PRIORITY

    Only affects Docker Provisioning. Specifies the priority with which an instance will scale into the cloud. A lower priority number means this cloud integration will take scale precedence over other cloud integrations in the group.

    APPLIANCE URL

    Alternate Appliance url for scenarios when the default Appliance URL (configured in admin -> settings) is not reachable or resolvable for Instances provisioned in this cloud. The Appliance URL is used for Agent install and reporting.

    TIME ZONE

    Configures the time zone on provisioned VM’s if necessary.

    DATACENTER ID

    Used for differentiating pricing among multiple datacenters. Leave blank unless prices are properly configured.

    NETWORK MODE

    Unmanaged or select a Network Integration (NSX, ACI etc)

    LOCAL FIREWALL

    On or Off. Enable to managed Host and VM firewall/IP Table rules (linux only)

    SECURITY SERVER

    Security Server setting is for Security Service Integrations such as ACI

    TRUST PROVIDER

    Select Internal (Morpheus) or an existing Trust Provider Integration

    STORAGE MODE

    Single Disk, LVM or Clustered

    BACKUP PROVIDER

    Select Internal Backups (Morpheus) or a Backup Integration

    REPLICATION PROVIDER

    Sets the default Replication Provider for the Cloud. Select an existing Replication Provider Integration

    GUIDANCE

    Enable Guidance recommendations on cloud resources.

    COSTING

    Enable for Morpheus to sync Costing data from the Cloud provider, when available. If your organization utilizes reserved instances and you want to pull in related pricing data, select Costing and Reservations. If this is not relevant, select Costing to save money on additional calls to the AWS Cost Explorer API or similar service for other clouds.

    DNS INTEGRATION

    Records for instances provisioned in this cloud will be added to selected DNS integration.

    SERVICE REGISTRY

    Services for instances provisioned in this cloud will be added to selected Service Registry integration.

    CONFIG MANAGEMENT

    Select a Chef, Salt, Ansible or Puppet integration to be used with this Cloud.

    CMDB

    Select CMDB Integration to automatically update selected CMDB.

    CHANGE MANAGEMENT

    Select an existing Change Management Integration to set on the Cloud. ex: Cherwell

    AGENT INSTALL MODE
    • SSH / WINRM: Morpheus will use SSH or WINRM for Agent install.
    • Cloud Init / Unattend (when available): (DEFAULT) Morpheus will utilize Cloud-Init or Cloudbase-Init for agent install when provisioning images with Cloud-Init/Cloudbase-Init installed. Morpheus will fall back on SSH or WINRM if cloud-init is not installed on the provisioned image. Morpheus will also add Agent installation to Windows unattend.xml data when performing Guest Customizations or utilizing syspreped images.
    API PROXY

    Set a proxy for outbound communication from the Morpheus Appliance to the Cloud endpoints. Proxies can be added in the Infrastructure -> Networks -> Proxies tab.

    INSTALL AGENT

    Enable to have Agent Installation on by default for all provisioning into this Cloud. Disable for Agent Installation to be off by default for all provisioning into this Cloud.

    PROXY

    Set a proxy for inbound communication from Instances to the Morpheus Appliance. Proxies can be added in the Infrastructure -> Networks -> Proxies tab.

    Bypass Proxy for Appliance URL

    Enable to bypass proxy settings (if added) for Morpheus Agent communication to the Appliance URL.

    NO PROXY

    Include a list of IP addresses or name servers to exclude from proxy traversal

    USER DATA (LINUX)

    Add cloud-init user data. Morpheus 4.1.0 and earlier assumes bash syntax. Morpheus 4.1.1 and later supports all User Data formats. Refer to https://cloudinit.readthedocs.io/en/latest/topics/format.html for more information.

Group

A Group must be specified or created for the new Cloud to be added to. Clouds can be added to additional Groups or removed from Groups after being created.

  • USE EXISTING: Add the new Cloud to an exiting Group in Morpheus .
  • CREATE NEW: Creates a new Group in Morpheus and adds the Cloud to the Group.

Review

Confirm all settings are correct and select COMPLETE.

The UpCloud Cloud will be added, and Morpheus will perform the initial cloud sync of:

  • UpCloud Servers will added as Virtual Machines (if Inventory is enabled)
  • UpCloud Templates (My Templates) will sync and be added to `Provisioning -> Virtual Images.

Note

The Console tab will only appear for Inventoried Servers if Inventory Level is set to Full

Provisioning to UpCloud

Instances and Apps can be created using the private Images synced from UpCloud or from the Morpheus provided Image Catalog.

Provision a synced Image

Images synced from UpCloud can be provisioned by using:

  • The UPCLOUD Instance Type and selecting the Image from the Image dropdown in the configure section when provisioning and Instance, App, or creating an App Blueprint.
  • Creating custom Library Instance Types and selecting a synced Image when creating a Node Type for the custom Instance Type.

Important

Synced images should be configured prior to provisioning by editing the Image in the Provisioning -> Virtual Images section.

Provision a Morpheus provided UpCloud Image

Morpheus provides a number of pre-configured Images that are available in the default Morpheus Catalog when provisioning and Instance, App, or creating an App Blueprint. UpCloud Images are included in the following Instance Types in the default Morpheus catalog.

  • ACTIVEMQ
  • APACHE
  • CASSANDRA
  • DEBIAN
  • ELASTICSEARCH
  • GRAILS
  • JAVA
  • MONGO
  • MYSQL
  • NGINX
  • PHP
  • RABBITMQ
  • REDIS
  • OMCAT
  • UBUNTU
  • WINDOWS
  • GRAILS