We will need to provision our cluster master and nodes beforehand. For the moment, we are limited to the operating systems and version listed earlier. Additionally, it is recommended that you have at least 1 GB of RAM. All the nodes must have network connectivity to one another.
For this walkthrough, we will need one t2.medium (master node) and three t2.mirco (nodes) sized instances on AWS. These instance have burstable CPU and come with the minimum 1 GB of RAM that's required. We will need to create one master and three worker nodes.
We will also need to create some security groups for the cluster. The following ports are needed for the master:
Type |
Protocol |
Port range |
Source |
All traffic |
All |
All |
{This SG ID (Master SG)} |
All traffic |
All |
All |
{Node SG ID} |
SSH |
TCP |
22 |
{Your Local Machine's IP} |
HTTPS |
TCP |
443 |
{Range allowed to access K8s API and UI} |
The following table shows the port's node security groups:
Type |
Protocol |
Port range |
Source |
All traffic |
All |
All |
{Master SG ID} |
All traffic |
All |
All |
{This SG ID (Node SG)} |
SSH |
TCP |
22 |
{Your Local Machine's IP} |
Once you have these SGs, go ahead and spin up four instances (one t2.medium and three t2.mircos) using Ubuntu 16.04. If you are new to AWS, refer to the documentation on spinning up EC2 instances at the following URL: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html.
Be sure to identify the t2.medium instance as the master and associate the master security group. Name the other three as nodes and associate the node security group with those.