reference deployment

Quick Start for Kubernetes by VMware

Flexible container orchestration platform on the AWS Cloud

This Quick Start sets up a flexible, secure AWS environment and launches a Kubernetes cluster automatically into a configuration of your choice.

Kubernetes is an open-source orchestration platform for managing cloud workloads through containers such as Docker. With Kubernetes on the AWS Cloud, you gain the flexibility and security of the AWS infrastructure along with the powerful container deployment, scaling, and management capabilities of Kubernetes.

The Kubernetes Quick Start bootstraps your Kubernetes cluster with one master, two additional nodes by default, and a load balancer for HTTPS access to the Kubernetes API. This is a small cluster suitable for exploring Kubernetes networking, scaling, and administration. By running this Quick Start configuration, you’ll be able to learn how Kubernetes works at a manageable scale, with key parts in place for a full-scale deployment.

February 2019 note — An earlier version of this Quick Start was published under the name Quick Start for Kubernetes by Heptio.

This Quick Start was developed by VMware in partnership with AWS. VMware is an APN Partner.

  •  What you'll build
  • Use this Quick Start to set up the following components on AWS:

    • A virtual private cloud (VPC) in a single Availability Zone.*
    • Two subnets, one public and one private.*
    • One EC2 instance acting as a bastion host in the public subnet.*
    • One EC2 instance with automatic recovery for the master node in the private subnet.
    • 1-20 EC2 instances in an Auto Scaling group for additional nodes in the private subnet.
    • One Elastic Load Balancing (ELB) load balancer for HTTPS access to the Kubernetes API.
    • Ubuntu 18.04 LTS for all nodes.
    • kubeadm for bootstrapping Kubernetes on Linux.
    • Docker for the container runtime, which Kubernetes depends on.
    • Calico or Weave for pod networking. The default is Calico.
    • CoreDNS or KubeDNS for cluster DNS. The default is CoreDNS. KubeDNS is being replaced by CoreDNS and is provided only for environments that cannot support CoreDNS.
    • One stack-only security group that allows port 22 for SSH access (to the bastion host or directly to the stack, depending on configuration), port 6443 for HTTPS access to the API, and inter-node connectivity on all ports.

    * The template that deploys the Quick Start into an existing VPC skips the tasks marked by asterisks and prompts you for your existing VPC configuration.

  •  How to deploy
  • To deploy your Kubernetes environment on AWS, follow the instructions in the deployment guide. The deployment process includes these steps:

    1. If you don't already have an AWS account, sign up at
    2. Launch the Quick Start. Each deployment takes about 10 minutes. You can choose from two options:
    3. (Optional) Test your Kubernetes cluster.

    To customize your deployment, you can choose different instance types for the Kubernetes cluster and the bastion host, choose the number of worker nodes you'd like to set up (1-20 nodes), and choose the networking provider (Calico or Weave).

    Amazon may share user-deployment information with the AWS Partner that collaborated with AWS on the Quick Start.  

  •  Cost and licenses
  • You are responsible for the cost of the AWS services used while running this Quick Start reference deployment. There is no additional cost for using the Quick Start.

    The AWS CloudFormation templates for this Quick Start include configuration parameters that you can customize. Some of these settings, such as instance type, will affect the cost of deployment. For cost estimates, see the pricing pages for each AWS service you will be using. Prices are subject to change.

    Kubernetes is available free of charge through the open-source Apache 2.0 license.