Home

Awesome

Open in Gitpod

amazon-eks-workshop

Amazon EKS workshop walkthrough repository.

This is a collection of Amazon EKS popular topics and assets aimed to help you successfully build your Amazon EKS workload.

Getting Started - create cluster

Options to create your own Amazon EKS environment:

  1. Create your EKS Cluster with eksctl - A super powerful Amazon EKS CLI.

  2. aws-samples/amazon-eks-refarch-cloudformation - Reference architecture of Amazon EKS with modern cloudformation templates. Create the cluster and nodegroup of mixed instance types and purchase options by simply make create-eks-cluster.

  3. Create EKS cluster and managed nodegroup with AWS CDK by aws-samples/amazon-eks-refarch-cloudformation

Basic Administration

Working with kubectl for basic administrations

Amazon EKS with AWS Fargate

Amazon EKS and AWS Fargate with alb-ingress-controller

(Youtube)AWS re:Invent 2019: [NEW LAUNCH!] Running Kubernetes Applications on AWS Fargate (CON326-R1)

Creating Services

ClusterIP, NodePort and LoadBalancer

Ingress Options

ALB Ingress Controller(GitHub)

Traefik Ingress(official doc|walkthrough)

Nginx Ingress(github)

NLB+Nginx Ingress(AWS blogpost)

HAProxy Kubernetes Ingress(official doc|github)

Kong Ingress(github)

Development with Amazon EKS

Create your 1st app from scratch and deploy into Amazon EKS

AWS CDK with Amazon EKS

CDK samples from aws-samples/amazon-eks-refarch-cloudformation

Helm and Charts

Installing Helm

EKS and EC2 Spot Block with AWS CDK

💥 pahud/eks-spot

Spot and Lambda Integration

awslabs/amazon-eks-serverless-drainer - Amazon EKS node drainer with AWS Lambda

Blog - Interacting with EKS via Lambda by @nbrandaleone

Storage

Storage(PV, PVC and StatefulSet)

Amazon EKS with Amazon EFS

Monitoring

Kubernetes Dashboard

Scheduling

Affinity and Anti-Affinity

Taint and Toleration

Cordon and Uncordon

Drain

AutoScaling

HPA(Horizontal Pod Autoscaling)

CA(Cluster-Autoscaler)

https://github.com/atlassian/escalator - a batch or job optimized horizontal autoscaler for Kubernetes

Log Consolidation

Fluentd integration

CI/CD

Amazon EKS with AWS CodeBuild integration

💥Amazon EKS Canary Deployment with AWS App Mesh and AWS Step Function

Amazon EKS Continuous Deployment Sample using AWS CodePipeline

Automate Kubernetes deployment on Amazon EKS with buddy.works

Blog - Continuous Delivery with Amazon EKS and Jenkins X

💥 Create 12 EKS clusters in parallel one for each in different regions with Codepipeline cross region capabilities(demo tweet and cfn template)

Service Discovery

ExternalDNS and Route53 Auto Naming API

Service Mesh

💥Amazon EKS Canary Deployment with AWS App Mesh and AWS Step Function

Installing Istio 1.x on Amazon EKS

Blog - Getting Started with Istio on Amazon EKS - https://amzn.to/2wo3inY

How to integrate AWS ALB with istio v1.0 by Chuan-Yen Chiang - https://medium.com/@cy.chiang/how-to-integrate-aws-alb-with-istio-v1-0-b17e07cae156

CloudWatch Events Integration

CloudWatch Events scheduled kubectl execution from within AWS Fargate(Tweet)

Amazon EKS and AWS Lambda Integration

aws-samples/lambda-layer-kubectl - AWS Lambda layer for kubectl - Run kubectl command in AWS Lambda

Amazon EKS and CloudWatch Integration

K8s Cloudwatch Adapter - and subscribe this issue in AWS container public roadmap.

Cloudwatch Container Insights - monitoring kubernetes resources

Multi-tenancy

Multiple EKS clusters sharing single VPC and ALB - (tweet|architecture)

Public References

SkyScanner: Building Highly-Available, Multi-Region Kubernetes Clusters on 100% Amazon EC2 Spot(Youtube)