📘

EKS Blueprints Overview and Tutorial

Jul 2, 2024

EKS Blueprints Overview and Tutorial

Introduction

  • Blueprints: A tool to quickly create fully bootstrapped and production-ready Kubernetes clusters with minimal knowledge of Amazon EKS (Elastic Kubernetes Service).
  • Pros & Cons: While beneficial for rapid deployment, this method can become complex and difficult to maintain over time due to numerous abstractions and dependencies.

Key Components of EKS Blueprints

  1. Kubernetes Add-ons Module: Facilitates installation of managed add-ons (e.g., EBS driver) and self-managed add-ons (e.g., EFS, NLB Controller).
  2. Main Chart Module: Acts as a wrapper around another chart, ADBS EKS module.

Tutorial Breakdown

Creating a VPC with Terraform

  • Terraform Basics: Use Terraform resources and modules for creating a VPC. Modules recommended only if you understand the basics.
  • Components: VPC with CIDR block, DNS support, gateway creation, subnet tagging (for EKS functionality), and creating routes.
  • Subnet Tags: Essential for exposing applications to the external world using Internal ELB (Elastic Load Balancer) and public load balancers.

Using EKS Blueprints to Provision EKS Cluster

  • EKS Cluster Creation: Bind modules to specific versions, create managed node groups, and configure autoscaling.
  • IAM Roles and Service Accounts: Grant access to AWS API using IAM roles for service accounts (e.g., NLB Controller).
  • Terraform Initialization: Applying Terraform configurations, updating local Kubernetes config, and verifying connections.

Installing Add-ons

  1. EBS CSI Driver: For attaching EBS volumes for stateful applications. Uses Terraform modules provided by EKS Blueprints.
  2. EFS CSI Driver: For providing elastic, high-availability storage. Configurations include EFS file system creation and mounting targets.
  3. AWS Load Balancer Controller: Replaces ingress controllers to create and manage load balancers (network and application).
  4. Metrics Server & Cert-Manager: For CPU/memory usage insights (metrics server) and handling TLS certificates (cert-manager).
  5. Cluster Autoscaler & Karpenter: Tools for scaling cluster nodes. Karpenter used for dynamic scaling and reducing latency in batch workloads.

Additional Configuration and User Management

  1. Fargate Profiles: Integrate serverless workloads into the cluster by specifying namespaces and subnet configurations.
  2. IAM Users & Roles: Adding IAM users and roles to EKS clusters for resource access and permissions. Create IAM policies and roles, and manage Kubernetes config maps for access control.

Summary

  • Comprehensive overview on rapid deployment and management of Kubernetes clusters using EKS Blueprints and Terraform.
  • Key areas covered: VPC creation, add-on installation, autoscaling, and user management.

Links and Support

  • Support Channel: Mentorship and consulting services available. Details in the video's description.

Thank you for watching and stay tuned for more tutorials!