Cloud Provider Instances with KVM support

May 9, 2020 · View on GitHub

If you intend to use a cloud provider to test Ignite, you can use the instructions below to provision an instance that satisfies the KVM system requirements described in the installation guide.

Amazon Web Services

Amazon EC2 bare metal instances provide direct access to the Intel® Xeon® Scalable processor and memory resources of the underlying server. These instances are ideal for workloads that require access to the hardware feature set (such as Intel® VT-x), for applications that need to run in non-virtualized environments for licensing or support requirements, or for customers who wish to use their own hypervisor.

Here's a list of instances with KVM support, with pricing (as of July 2019), to help you test Ignite. All the instances listed below are EBS-optimized, with 25 Gigabit available network performance and IPv6 support.

FamilyTypePricing (US-West-2) per On Demand Linux Instance HrvCPUsMemory (GiB)Instance Storage (GB)
Compute optimizedc5.metal$4.0896192EBS only
General purposem5.metal$4.60896384EBS only
General purposem5d.metal$5.424963844 x 900 (SSD)
Memory optimizedr5.metal$6.04896768EBS only
Memory optimizedr5d.metal$6.912967684 x 900 (SSD)
Memory optimizedz1d.metal$4.464483842 x 900 (SSD)
Storage optimizedi3.metal$4.992725128 x 1900 (SSD)

Use the AWS console to launch one of these instances and connect to your instance using SSH. Then, follow the instructions in the installation guide.

Google Cloud

Source: https://blog.kubernauts.io/ignite-on-google-cloud-5d5228a5ffec

Use Google compute from a custom KVM image so that Ignite can be installed and run easily.

  • Login to Google Cloud Console

  • Open Google Cloud Shell

  • Run the following command to create custom images with KVM enabled

    gcloud compute images create nested-virt \
      --source-image-project=ubuntu-os-cloud \
      --source-image-family=ubuntu-1604-lts \
      --licenses="https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
    
  • Create an instance with the custom image created

Microsoft Azure

Azure supports nested virtualizations on Dv3 and Ev3 series virtual machines with 4 or more vCPUs. The smallest sizes supporting Ignite are listed below for development purposes. Larger and more specialized SKUs also support virtualization. There is no special configuration required. Follow the standard Ignite installation instructions for Ubuntu.

FamilyType$/hr (West US 2)$/monthvCPUsMemory (GiB)Instance Storage (GB)
General purposeD4s_v3$0.192$140.1641632GiB
General purposeD8s_v3$0.384$280.3283264GiB
Memory optimizedE4s_v3$0.252$183.9643264GiB
Memory optimizedE8s_v3$0.504$367.92864128GiB

Packet

As a bare metal provider Packet naturally supports virtualization. For development purposes, using a t1.small.x86 with Ubuntu 18.04 or 19.04 works well.

Config$/hr$/monthCPUsMemory (GiB)Instance Storage (GB)
t1.small.x86$0.07~$51.14@2.4Ghz880GiB
c1.small.x86$0.40~$2924@3.5Ghz32120GiB

DigitalOcean

DigitalOcean provides KVM support on all of its droplets. For development purposes, using any of s-1vcpu-1gb, s-2vcpu-4gb, s-4vcpu-8gb, or even bigger machines with Ubuntu 18.04 works well.