• Stars
    star
    446
  • Rank 97,888 (Top 2 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AWS Quick Start Team

Amazon EKS Blueprints for CDK

GitHub Build

Welcome to Amazon EKS Blueprints for CDK.

This repository contains the source code for the eks-blueprints NPM module. It can be used by AWS customers, partners, and internal AWS teams to configure and manage complete EKS clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads.

Getting Started

The easiest way to get started with EKS Blueprints is to follow our Getting Started guide.

Documentation

For complete project documentation, please see our official project documentation site.

Examples

To view a library of examples for how you can leverage the eks-blueprints, please see our Blueprints Patterns Repository.

What can I do with this QuickStart?

Customers can use this QuickStart to easily architect and deploy a multi-team Blueprints built on EKS. Specifically, customers can leverage the eks-blueprints module to:

  • Deploy Well-Architected EKS clusters across any number of accounts and regions.
  • Manage cluster configuration, including addons that run in each cluster, from a single Git repository.
  • Define teams, namespaces, and their associated access permissions for your clusters.
  • Create Continuous Delivery (CD) pipelines that are responsible for deploying your infrastructure.
  • Leverage GitOps-based workflows for onboarding and managing workloads for your teams.

You can also find a sample implementation that resides in this repository in bin/main.ts.

Getting Started

First, make sure you have the aws-cli installed. To verify your installation, run the following:

aws --version
# output aws-cli/2.2.3 Python/3.9.5 Darwin/20.3.0 source/x86_64 prompt/off

Install CDK matching the current version of the Blueprints QuickStart (which can be found in package.json).

npm install -g [email protected]

Verify the installation.

cdk --version
# must output 2.91.0

Create a new CDK project. We use typescript for this example.

cdk init app --language typescript

Bootstrap your environment.

cdk bootstrap aws://<AWS_ACCOUNT_ID>/<AWS_REGION>

Usage

Run the following command to install the eks-blueprints dependency in your project.

npm i @aws-quickstart/eks-blueprints

Replace the contents of bin/<your-main-file>.ts (where your-main-file by default is the name of the root project directory) with the following:

import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';

const app = new cdk.App();

// AddOns for the cluster.
const addOns: Array<blueprints.ClusterAddOn> = [
    new blueprints.addons.ArgoCDAddOn,
    new blueprints.addons.CalicoAddOn,
    new blueprints.addons.MetricsServerAddOn,
    new blueprints.addons.ClusterAutoScalerAddOn,
    new blueprints.addons.ContainerInsightsAddOn,
    new blueprints.addons.AwsLoadBalancerControllerAddOn(),
    new blueprints.addons.VpcCniAddOn(),
    new blueprints.addons.CoreDnsAddOn(),
    new blueprints.addons.KubeProxyAddOn(),
    new blueprints.addons.XrayAddOn()
];

const account = 'XXXXXXXXXXXXX';
const region = 'us-east-2';

const stack = blueprints.EksBlueprint.builder()
    .account(account)
    .region(region)
    .addOns(...addOns)
    .build(app, 'eks-blueprint');
// do something with stack or drop this variable

Note: if the account/region combination used in the code example above is different from the initial combination used with cdk bootstrap, you will need to perform cdk bootstrap again to avoid error.

Please reference CDK usage doc for detail.

Deploy the stack using the following command

cdk deploy

This will provision the following:


Why should I use this QuickStart?

The ecosystem of tools that have developed around Kubernetes and the Cloud Native Computing Foundation (CNCF) provides cloud engineers with a wealth of choice when it comes to architecting their infrastructure. Determining the right mix of tools and services however, in addition to how they integrate, can be a challenge. As your Kubernetes estate grows, managing configuration for your clusters can also become a challenge.

AWS customers are building internal platforms to tame this complexity, automate the management of their Kubernetes environments, and make it easy for developers to onboard their workloads. However, these platforms require investment of time and engineering resources to build. The goal of this QuickStart is to provide customers with a tool chain that can help them deploy a Well-Architected platform on top of EKS with ease. The eks-blueprints framework provides logical abstractions and prescriptive guidance for building a platform. Ultimately, we want to help EKS customers accelerate time to market for their own platform initiatives.

Contributing

Please see Internal Guidelines for details on contributions.

Feedback

For architectural details, step-by-step instructions, and customization options, see our official documentation site.

To post feedback, submit feature ideas, or report bugs, use the Issues section of this GitHub repo.

To submit code for this Quick Start, see the AWS Quick Start Contributor's Kit.

License

This library is licensed under the Apache 2.0 License.

More Repositories

1

quickstart-aws-vpc

Amazon Virtual Private Cloudβ€”AWS Solution
322
star
2

quickstart-linux-bastion

Linux bastion host
Shell
311
star
3

quickstart-examples

Get started on building AWS Partner Solutions by using our examples.
Shell
305
star
4

quickstart-git2s3

AWS Quick Start Team
Python
178
star
5

quickstart-mongodb

AWS Quick Start Team
151
star
6

quickstart-hashicorp-vault

AWS Quick Start Team
Shell
126
star
7

quickstart-compliance-hipaa

AWS Quick Start Team
Batchfile
125
star
8

quickstart-microsoft-activedirectory

AWS Quick Start Team
PowerShell
111
star
9

quickstart-eks-cdk-python

AWS Quick Start Team
Python
84
star
10

quickstart-taskcat-ci

CI/CD pipeline for AWS CloudFormation templates Quick Start
Python
79
star
11

quickstart-atlassian-jira

Jira Software Data Center and Jira Service Desk Data Center with high availability and performance
69
star
12

quickstart-hashicorp-consul

AWS Quick Start Team
67
star
13

quickstart-compliance-common

AWS Quick Start Team
65
star
14

quickstart-tableau-server

AWS Quick Start Team
Python
60
star
15

quickstart-codepipeline-bluegreen-deployment

AWS Quick Start Team
Python
53
star
16

quickstart-microsoft-rdgateway

AWS Quick Start Team
PowerShell
47
star
17

quickstart-atlassian-confluence

Team collaboration with high availability and scalability on the AWS Cloud
Shell
45
star
18

quickstart-superwerker

AWS Quick Start Team
43
star
19

quickstart-amazon-eks-cluster-resource-provider

AWS Quick Start Team
Python
40
star
20

quickstart-apache-superset

AWS Quick Start Team
38
star
21

quickstart-splunk-enterprise

AWS Quick Start Team
38
star
22

quickstart-amazon-aurora-postgresql

AWS Quick Start Team
37
star
23

quickstart-keycloak

AWS Quick Start Team
TypeScript
37
star
24

quickstart-linux-utilities

Linux Common Utilitys
Shell
36
star
25

quickstart-hashicorp-nomad

AWS Quick Start Team
HCL
36
star
26

quickstart-helm-resource-provider

AWS Quick Start Team
Python
35
star
27

quickstart-oracle-database

AWS Quick Start Team
Shell
35
star
28

quickstart-docker

AWS Quick Start Team
Shell
33
star
29

quickstart-eks-gitlab

AWS Quick Start Team
Python
27
star
30

quickstart-jfrog-artifactory

AWS Quick Start Team
Python
26
star
31

quickstart-eks-hashicorp-vault

AWS Quick Start Team
Shell
25
star
32

quickstart-illumina-dragen

AWS Quick Start Team
Python
24
star
33

quickstart-microsoft-exchange

AWS Quick Start Team
PowerShell
24
star
34

quickstart-aws-utility-meter-data-analytics-platform

AWS Quick Start Team
Jupyter Notebook
23
star
35

quickstart-amazon-redshift

AWS Quick Start Team
23
star
36

quickstart-atlassian-bitbucket

Code collaboration with high availability and scalability on the AWS Cloud
Shell
22
star
37

quickstart-github-enterprise

AWS Quick Start Team
Shell
21
star
38

quickstart-kubernetes-resource-provider

Python
20
star
39

quickstart-chainlinklabs-chainlink-node

AWS Quick Start Team
Shell
20
star
40

quickstart-mongodb-atlas

AWS Quick Start Team
Shell
19
star
41

quickstart-eks-rancher

AWS Quick Start Team
Shell
19
star
42

quickstart-ibm-mq

AWS Quick Start Team
Shell
18
star
43

quickstart-ec2-ipsec-mesh

AWS Quick Start Team
Python
18
star
44

quickstart-databricks-unified-data-analytics-platform

AWS Quick Start Team
Python
18
star
45

connect-integration-servicenow-itsm

AWS Quick Start Team
JavaScript
17
star
46

quickstart-hitrust-csf

AWS Quick Start Team
Python
17
star
47

quickstart-aws-fintech-blueprint

AWS Quick Start Team
TypeScript
17
star
48

quickstart-microsoft-wapadfs

AWS Quick Start Team
PowerShell
16
star
49

quickstart-amazon-marketing-cloud

Amazon Marketing Cloud Insights on AWS
Python
16
star
50

quickstart-dotnet-serverless-cicd

AWS Quick Start Team
JavaScript
16
star
51

quickstart-eks-hashicorp-consul

AWS Quick Start Team
Shell
15
star
52

quickstart-compliance-pci-fsbp-remediation

15
star
53

eventbridge-integration-solution-aws-lambda

AWS Quick Start Team
Python
15
star
54

quickstart-trendmicro-deepsecurity

AWS Quick Start Team
Shell
15
star
55

quickstart-aws-biotech-blueprint-cdk

AWS Quick Start Team
TypeScript
15
star
56

quickstart-documentation-base-common

Common components of the quickstart-documentation-base repo. Stored here to facilicate a centralized source-of-truth for common components of our documentation
CSS
14
star
57

quickstart-autodesk-forge

AWS Quick Start Team
JavaScript
14
star
58

quickstart-clickhouse-cluster

AWS Quick Start Team
Shell
14
star
59

connect-integration-examples

Code examples to help you build Amazon Connect integrations
Python
14
star
60

quickstart-ibm-icp-for-data

AWS Quick Start Team
Python
14
star
61

qs-cfn-lint-rules

QuickStart specific rules for cfn-python-lint
Python
14
star
62

quickstart-amazon-selling-partner-api

AWS Quick Start Team
Python
14
star
63

eventbridge-integration-solution-shopify-image-processing

AWS Quick Start Team
Python
14
star
64

quickstart-vmware-tanzu-application-platform

AWS Quick Start for VMware Tanzu Application Platform
Shell
13
star
65

quickstart-vfx-ise

AWS Quick Start Team
Shell
13
star
66

quickstart-boomi-molecule

AWS Quick Start Team
Python
13
star
67

quickstart-aws-acm-certificate

AWS Quick Start Team
Python
13
star
68

terraform-aws-vpc

HCL
13
star
69

cloudwatch-alarm-macro

Python
12
star
70

quickstart-aws-dms-automation

AWS Quick Start Team
PLpgSQL
12
star
71

quickstart-fsx-windows-file-server

AWS Quick Start Team
Shell
11
star
72

quickstart-snyk-security

AWS Quick Start Team
JavaScript
11
star
73

quickstart-amazon-aurora-mysql

AWS Quick Start Team
Shell
11
star
74

quickstart-uipath-orchestrator

AWS Quick Start Team
PowerShell
11
star
75

quickstart-cisco-meraki-sd-wan-vmx

AWS Quick Start Team
HTML
11
star
76

eventbridge-integration-solution-aws-api

AWS Quick Start Team
TypeScript
11
star
77

quickstart-microsoft-wsus

AWS Quick Start Team
PowerShell
10
star
78

quickstart-dotnetcore-cicd

AWS Quick Start Team
C#
10
star
79

quickstart-armory-enterprise

AWS Quick Start Team
CSS
9
star
80

quickstart-sudo-consultants-serverless-wordpress

AWS Quick Start Team
9
star
81

quickstart-eks-snyk

AWS Quick Start Team
9
star
82

quickstart-iot-device-connectivity

AWS Quick Start Team
Go
9
star
83

quickstart-datalake-foundation

Python
9
star
84

quickstart-microfocus-amc-es

AWS Quick Start Team
TSQL
8
star
85

quickstart-microsoft-pki

AWS Quick Start Team
PowerShell
8
star
86

lambda-copyzips

8
star
87

quickstart-qingcloud-kubesphere

AWS Quick Start Team
8
star
88

quickstart-eks-prometheus

AWS Quick Start Team
Shell
8
star
89

quickstart-atlassian-services

A highly available, secure VPC for hosting Atlassian Data Center products
Makefile
7
star
90

quickstart-tableau-sagemaker

AWS Quick Start Team
Python
7
star
91

quickstart-quantiphi-lex-kendra-backend

AWS Quick Start Team
Python
7
star
92

quickstart-eks-grafana

AWS Quick Start Team
Shell
7
star
93

quickstart-aws-amb-fabric

AWS Quick Start Team
6
star
94

quickstart-darktrace-vsensor

AWS Quick Start Team
6
star
95

quickstart-aerospike

AWS Quick Start Team
Shell
6
star
96

eventbridge-integration-solution-aws-archival

AWS Quick Start Team
6
star
97

quickstart-sample-project

QuickStart Sample Project
Shell
6
star
98

quickstart-nvidia-cloudxr

AWS Quick Start Team
PowerShell
6
star
99

quickstart-aem-opencloud

AWS Quick Start Team
Python
6
star
100

quickstart-amazon-eks

Amazon EKS Quick Start
Python
6
star