Try KubeVirt on 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-0050c59eb4514da3e
us-east-2 Ohio HVM ami-0e40bbe9e87f726cd
us-west-1 N. California HVM ami-02ab6c92f0c112fd7
us-west-2 Oregon HVM ami-0d279ebc148a4f36c
ca-central-1 Canada HVM ami-0e377c951874e2bf7
eu-west-1 Ireland HVM ami-0bb04bf9edc84cade
eu-west-2 London HVM ami-0a94f7993db846173
eu-west-3 Paris HVM ami-03eded124bfcbf774
eu-central-1 Frankfurt HVM ami-023bfd05de1c68da3
ap-northeast-1 Tokyo HVM ami-031a9f9bb5116ed8e
ap-southeast-1 Singapore HVM ami-04422eec3514f1e87
ap-southeast-2 Sydney HVM ami-0c8d2e1ad2031cecc
ap-south-1 Mumbai HVM ami-08e83860b87a12816
sa-east-1 Sao Paulo HVM ami-06baa167dc17800eb
  • 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.


  • We install Weave Net as the CNI to enable pods to communicate with each other in the Kubernetes cluster. We reserve the IP allocation range for Weave Net. Verify that the VPC you selected for “Network” in the “Instance Details” screen has a CIDR that does not overlap with Weave’s IP allocation range.

  • 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 issue tracker.