aws-quickstart / cdk-eks-blueprints

AWS Quick Start Team
Apache License 2.0
460 stars 206 forks source link

New EKS CDK Blueprints Pattern for Graviton ARM64. #590

Closed elamaran11 closed 1 year ago

elamaran11 commented 1 year ago

Describe the feature

A New EKS CDK Blueprints Pattern for Graviton ARM64 with a bunch of addons. A mechanism to reference and add addons to blueprints stack supporting ARM64.

Use Case

Enable and create Graviton based EKS Clusters.

Proposed Solution

A New EKS CDK Blueprints Pattern for Graviton ARM64 with a bunch of addons. A mechanism to reference and add addons to blueprints stack supporting ARM64.

Other Information

No response

Acknowledgements

CDK version used

2.61.1

EKS Blueprints Version

1.5.4

Node.js Version

v19.4.0

Environment details (OS name and version, etc.)

Mac M1

Feder1co5oave commented 1 year ago

I use Graviton instances in my Blueprint cluster by using Karpenter. I specified

{
    'key': 'kubernetes.io/arch',
    'operator': 'In',
    'values': ['amd64', 'arm64']
}

in my default provisioner's requirements, and Graviton. You can then put nodeSelector and nodeAffinity on pods, to decide on which arch to schedule them. If your containers use multi-arch images, you can let it do its thing and automatically pull the right image for the selected node's arch. If you don't specify the nodeSelector/affinity on arch, you risk running into CrashLoopBackOff issues, because images are pulled for the wrong arch, and you get executable format errors.

elamaran11 commented 1 year ago

@Feder1co5oave Appreciate you spending time to give us some thoughts around a Graviton Pattern. We would highly encourage you to submit a PR for a new Graviton pattern to our https://github.com/aws-samples/cdk-eks-blueprints-patterns repo if you are interested. This will be a good contribution to the community based on all your work on this. Following is what we need.

  1. A complete Pattern for Graviton nodes from EKS with all supported addons along with a workload. Check this for Sample Pattern - https://github.com/aws-samples/cdk-eks-blueprints-patterns/tree/main/lib/secure-ingress-auth-cognito
  2. A Complete Readme file which has complete instructions to run the Graviton pattern. Check this for sample readme for a pattern - https://github.com/aws-samples/cdk-eks-blueprints-patterns/blob/main/docs/patterns/secureingresscognito.md

I will be more than happy to work and guide you if you are willing to submit a pattern as a contribution to community.

elamaran11 commented 1 year ago

https://aws-samples.github.io/cdk-eks-blueprints-patterns/patterns/graviton/ Ready