Kubernetes AWS EKS ¶
Network Layer: EKS Network Requirements ¶
In this section we detail all the network design related specifications
- VPCs CIDR blocks
- Private & Public Subnets IP Ranges
Considerations ¶
Design considerations
- AWS EKS: Docker runs in the 172.17.0.0/16 CIDR range in Amazon EKS clusters.
We recommend that your cluster's VPC subnets do not overlap this range. Otherwise, you will
receive the following error:
Read more: AWS EKS network requirements
Error: : error upgrading connection: error dialing backend: dial tcp 172.17.nn.nn:10250: getsockopt: no route to host
- Reserved IP Addresses The first four IP addresses and the last IP address in each subnet CIDR block are not available for you to use, and cannot be assigned to an instance. For example, in a subnet with CIDR block 10.0.0.0/24, the following five IP addresses are reserved. For more AWS VPC Subnets IP addressing
VPCs IP Addressing Plan (CIDR blocks sizing) ¶
Introduction
VPCs can vary in size from 16 addresses (/28 netmask) to 65,536 addresses (/16 netmask). In order to size a VPC correctly, it is important to understand the number, types, and sizes of workloads expected to run in it, as well as workload elasticity and load balancing requirements.
Keep in mind that there is no charge for using Amazon VPC (aside from EC2 charges), therefore cost should not be a factor when determining the appropriate size for your VPC, so make sure you size your VPC for growth.
Moving workloads or AWS resources between networks is not a trivial task, so be generous in your IP address estimates to give yourself plenty of room to grow, deploy new workloads, or change your VPC design configuration from one to another. The majority of AWS customers use VPCs with a /16 netmask and subnets with /24 netmasks. The primary reason AWS customers select smaller VPC and subnet sizes is to avoid overlapping network addresses with existing networks.
So having AWS single VPC Design we've chosen a Medium/Small VPC/Subnet addressing plan which would probably fit a broad range variety of use cases
Networking - IP Addressing ¶
Starting CIDR Segment (AWS EKS clusters)
- AWS EKS clusters IP Addressing calculation is presented below based on segment
10.0.0.0/16
(starts at /16 due to AWS VPC limits) - We started from
10.0.0.0/16
and subnetted to/19
- Resulting in Total Subnets: 8
- Number of available hosts for each subnet: 8190
- Number of available IPs (AWS) for each subnet: 8187
Individual CIDR Segments (VPCs)
Then each of these are /16 to /19
-
Considering the whole Starting CIDR Segment (AWS EKS clusters) before declared, we'll start at
10.0.0.0/16
- apps-devstg
- 1ry VPC CIDR:
10.0.0.0/16
- 1ry VPC DR CIDR:
10.20.0.0/16
- 1ry VPC CIDR:
- apps-prd
- 1ry VPC CIDR:
10.10.0.0/16
- 1ry VPC DR CIDR:
10.30.0.0/16
- 1ry VPC CIDR:
- apps-devstg
-
Resulting in Subnets: 4 x VPC
- VPC Subnets with Hosts/Net: 16.
- Eg: apps-devstg account → us-east-1 w/ 3 AZs → 3 x Private Subnets /az + 3 x Public Subnets /az
- 1ry VPC CIDR:
10.0.0.0/16
Subnets:- Private
10.0.0.0/19, 10.0.32.0/19 and 10.0.64.0/19
- Public
10.0.96.0/19, 10.0.128.0/19 and 10.0.160.0/19
- Private
- 1ry VPC CIDR:
Planned Subnets per VPC ¶
Having defined the initial VPC that will be created in the different accounts that were defined, we are going to create subnets in each of these VPCs defining Private and Public subnets split among different availability zones:
Subnet address | Range of addresses | Hosts | Assignment |
---|---|---|---|
10.0.0.0/19 | 10.0.0.0 - 10.0.31.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1a |
10.0.32.0/19 | 10.0.32.0 - 10.0.63.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1b |
10.0.64.0/19 | 10.0.64.0 - 10.0.95.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1c |
10.0.96.0/19 | 10.0.96.0 - 10.0.127.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1a |
10.0.128.0/19 | 10.0.128.0 - 10.0.159.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1b |
10.0.160.0/19 | 10.0.160.0 - 10.0.191.0/255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1c |
10.0.192.0/19 | 10.0.192.0 - 10.0.223.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1 |
10.0.224.0/19 | 10.0.224.0 - 10.0.224.255 | 8190 | 1ry VPC: apps-devstg AZ: us-east-1 |
Note: Additional clusters can use their own available VPC space under 10.x.0.0/16.
-
Subnetting reference #1 | Visual Subnet Calculator (https://www.davidc.net/)
-
Subnetting reference #2 | IP Calculator / IP Subnetting (https://jodies.de/)
Read More ¶
EKS Reference Architecture Specs
In case you would like to further understand the different tech specs and configs for this Ref Arch you could find some details like at the user-guide/Compute/K8s EKS