# Create Cluster on AWS

Managed Kubernetes supports creation of highly available, multi-master Kubernetes clusters on AWS that can tolerate the failure of one or more master nodes as well as an entire availability zone (AZ) going down. This is critical for running production workloads in Kubernetes.

A highly available cluster is composed of at least 3 master nodes, each running an instance of etcd.

To create a cluster on AWS, you must first have an AWS cloud provider. Refer to [auto$](https://github.com/platform9/pcd-docs-gitbook/blob/main/kubernetes/add-aws-cloud-provider/README.md) to create a new AWS cloud provider.

Follow the steps given below to create a Kubernetes cluster on AWS.

{% hint style="info" %}
**Note**

Any instance type from the current generation instance families can be used. Instance types from previous generation instance families (t1, m2, m1, and c1) cannot be used. For details on the different instance families, please see the AWS documentation.
{% endhint %}

* Navigate to Kubernetes>Infrastructure>Clusters.
* Click Add Cluster.
* Enter following information for Cluster Configuration:

| Field                     | Description                                                                                                                                                                                                                                               |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cloud Provider            | From the drop down select your desired AWS cloud provider                                                                                                                                                                                                 |
| Name                      | The name of the cluster                                                                                                                                                                                                                                   |
| Region                    | Select the AWS region to deploy this cluster into                                                                                                                                                                                                         |
| Availability Zone         | <p>Select one or more Availability Zones within this region to deploy the<br>master nodes of this cluster into. Select at-least 3 availability zones<br>for high availability.</p>                                                                        |
| Operating System          | <p>The operating system version for the nodes deployed in the cluster. Note<br>that you are only selecting the operating system major version.</p>                                                                                                        |
| Master Node Instance Type | <p>Instance type for the master node. Platform9 recommends <code>m4.large</code><br>instance type for master and instance type from the <code>m4</code>, <code>t2</code>, <code>c4</code>,<br>and <code>r4</code> instance families for worker nodes.</p> |
| Worker Node Instance Type | Instance type for the worker node                                                                                                                                                                                                                         |
| SSH Key                   | <p>The SSH key your public cloud account has access to. AWS injects the<br>keys into the node while deploying it. The SSH key is useful for<br>debugging purpose if you ever need to log in to the node.</p>                                              |
| Number of Master Nodes    | Number of master nodes in the Kubernetes cluster                                                                                                                                                                                                          |
| Number of Worker Nodes    | Number of worker nodes in the Kubernetes cluster                                                                                                                                                                                                          |
| Privileged                | Select the check box to enable the cluster to run privileged containers                                                                                                                                                                                   |

* Follow the rest of the options for networking configuration. See [auto$](https://github.com/platform9/pcd-docs-gitbook/blob/main/kubernetes/aws-network-integrations/README.md).
* Review the cluster configuration and if everything looks okay, click Create Cluster

The cluster is created on AWS.

You can now start deploying your applications on the newly created Kubernetes cluster.

{% hint style="danger" %}
**Mandatory AWS cluster changes from PMK version 5.10.2**

All existing and new AWS clusters in PMK must be configured with an is\_update flag and restricted security group rules. Without this cluster updates(such as AMI updates) and upgrades may fail. Please reach out to Platform9 support for this configuration.
{% endhint %}
