Easy install using AWS

We have created AWS images that automatically install Kubernetes and KubeVirt inside an EC2 instance to help you quickly deploy a trial environment.

In Step 1, we guide you through selecting an AMI and some factors to consider when launching the EC2 instance through the AWS console.

After you have launched your EC2 instance, navigate back to this page and then dive into the two labs below to help you get acquainted with KubeVirt.

Step 1: Launch KubeVirt in Amazon EC2

To use the images in the table below, you should already have an AWS account. The images are free to use but AWS will bill you for instance hours, storage, and associated services unless you are in an AWS trial period. These images are not meant to be used in production.

  • First, open one of the AMI links below in a new tab or window to start up an instance in your preferred EC2 region.
EC2 Region Location AMI Type AMI ID
us-east-1 N. Virginia HVM ami-0ebd9291a6220aa7f
us-east-2 Ohio HVM ami-0722122a2d003981c
us-west-1 N. California HVM ami-05d9e053a41443f9e
us-west-2 Oregon HVM ami-0af55821c0381fa2a
ca-central-1 Canada HVM ami-0824fb7e37b4cc888
eu-west-1 Ireland HVM ami-041fb803ba56095cb
eu-west-2 London HVM ami-0dec6fa05649b6c03
eu-west-3 Paris HVM ami-03e92fb91d68c73f7
eu-central-1 Frankfurt HVM ami-016016b7d3ea63551
ap-northeast-1 Tokyo HVM ami-027365f9582fcf853
ap-southeast-1 Singapore HVM ami-0729edadfd9a7817f
ap-southeast-2 Sydney HVM ami-0565c777eaddba169
ap-south-1 Mumbai HVM ami-0838b3f295b288432
sa-east-1 Sao Paulo HVM ami-074b18b329b705d3f
  • At the instance type selection screen, select a type that has at least 4GB of memory. This is the minimum amount of memory required to complete the labs in Step 2. Select more memory or storage if you are planning to deploy VMs with larger memory or storage requirements than what is used in the labs.


  • You will need to be able to log into your instance through SSH. Depending on your network configuration, you may need to enable public IP. To enable a public IP, in the “Instance Details” screen select “Enable” for “Auto-assign Public IP” or select “Use subnet setting” if public IPs are enabled for your subnet.


  • At the security group configuration screen, allow ingress to SSH by enabling access to port 22 from your IP address.


  • Finally, you will need to associate a key pair with your instance. If you have created one before, select it. If haven’t created one before, select “Create a new key pair”, enter a name, download the private key, and note where you place it because you will use it in a few minutes. Once you made your selection, hit “Launch Instance”. It takes about 5 mins after the EC2 instance is started for the instance to be ready for SSH login.


  • Once your instance is ready, SSH to your EC2 instance using your private key. Note “centos” is the default username.
ssh -i <aws-private-key> centos@<ec2_public_ip_or_hostname>

Step 2: KubeVirt labs

After you have connected to your instance through SSH, you can work through a couple of labs to help you get acquainted with KubeVirt and how to use it to create and deploy VMs with Kubernetes.

The first lab is “Use KubeVirt”. This lab walks you through the creation of a Virtual Machine instance on Kubernetes and then shows you how to use virtctl to interact with its console.

The second lab is “Experiment with CDI”. This lab shows you how to use the Containerized Data Importer (CDI) to import a VM image into a Persistent Volume Claim (PVC) and then how to define a VM to make use of the PVC.

Found a bug?

We are interested in hearing about your experience.

If you encounter an issue with deploying your cloud instance or if Kubernetes or KubeVirt did not install correctly, please report it to the cloud-image-builder issue tracker.

If experience a problem with the labs, please report it to the kubevirt.io issue tracker.