Skip to content

Commit

Permalink
update image url
Browse files Browse the repository at this point in the history
  • Loading branch information
Oguzhan Yilmaz committed Nov 1, 2023
1 parent 6661ff6 commit 3a02d7e
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 22 deletions.
34 changes: 28 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
# karpenter-eks-vpc-secondary-cidr
Docs on creating an EKS setup with Secondary CIDR block for IP addresses.

This repo uses [eksdemo](https://github.com/awslabs/eksdemo) to create an EKS Cluster and install karpenter.

## Requirements
- eksdemo
- aws cli
- jq
- yq
### [Go to Documentation Website](https://oguzhan-yilmaz.github.io/karpenter-eks-vpc-secondary-cidr/)

## Index
https://oguzhan-yilmaz.github.io/karpenter-eks-vpc-secondary-cidr/eks-custom-networking-vpc-secondary-cidr/

- [EKS Custom Networking: VPC with Secondary CIDR](https://oguzhan-yilmaz.github.io/karpenter-eks-vpc-secondary-cidr/eks-custom-networking-vpc-secondary-cidr)
- [Karpenter Configuration](https://oguzhan-yilmaz.github.io/karpenter-eks-vpc-secondary-cidr/karpenter)
- [Create Load](https://oguzhan-yilmaz.github.io/karpenter-eks-vpc-secondary-cidr/create-load)
Expand All @@ -19,4 +16,29 @@ https://oguzhan-yilmaz.github.io/karpenter-eks-vpc-secondary-cidr/eks-custom-net



## Why this is needed?

- Running many nodes in EKS can cause IP address exhaustion in the VPC.
- How many IP addresses are available to a node is determined by nodes ENI capacity.
- Because of this, EKS requires running many nodes to keep up with the Pod count.
- Using a VPC with Secondary CIDR block allows us to have more IP addresses available to our pods.
- Karpenter is a faster option for cluster autoscaling than the default EKS Cluster Autoscaler.
- Karpenter can be configured to use Spot Instances, which can save a lot of money.


## What does this repo do?
- Creates an EKS Cluster with a VPC with Secondary CIDR block.
- Secondary CIDR block is a VPC feature that allows you to add additional IP addresses to your VPC.
- Creates 3 Private subnets in the Secondary CIDR block with `/19` mask, so we can have available IP count of `3*8190` or `24570` for our pods.
- Updates `aws-node` with Custom Networking configuration.
- Creates ENIConfig for each of our subnets in the Secondary CIDR block.
- Creates Karpenter Provisioner and AWSNodeTemplate.
- Offers troubleshooting steps for common issues.
- Recommends how to choose EC2 Instance Types.

## Diagram

![AWS CNI and ENIConfig Diagram](https://github.com/oguzhan-yilmaz/karpenter-eks-vpc-secondary-cidr/blob/main/docs/images/secondary-cidr-block-diagram.png?raw=true)



16 changes: 0 additions & 16 deletions docs/eksctl-node-group-config.yaml

This file was deleted.

1 change: 1 addition & 0 deletions docs/karpenter.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ EOF
#### Check the `.status` of the Karpenter AWSNodeTemplate

- `AWSNodeTemplate` object will update it's `.status` definition with the resolved Subnet and Security Group IDs.
- Check these IDs to make sure they are correct.

```bash
kubectl -n karpenter get awsnodetemplate default -o yaml | yq '.status'
Expand Down

0 comments on commit 3a02d7e

Please sign in to comment.