This repository contains resources and instructions for deploying a Kubernetes cluster on AWS using Amazon EKS (Elastic Kubernetes Service) and deploying applications to it.
deployment.yaml- Sample 2048 game deployment configurationingress.yaml- Ingress controller configuration for the 2048 gamenamespace.yaml- Kubernetes namespace definition for the gamesteps/- Documentation for each setup stepphotos/- Screenshots of the deployment process
Before you begin, ensure you have installed the necessary tools as described in prerequisites.md:
- kubectl
- eksctl
- AWS CLI (configured with appropriate credentials)
Follow these steps in order:
- Installing EKS Cluster
- Configure OIDC Connector
- Install AWS Load Balancer Controller
- Deploy Sample Application
- Deploy 2048 Game with Ingress
This repository includes the following Kubernetes manifests:
namespace.yaml- Creates a namespace calledgame-2048deployment.yaml- Deploys the 2048 game application with 5 replicas and creates a NodePort serviceingress.yaml- Configures an ALB ingress to expose the 2048 game to the internet
After setting up EKS and the AWS Load Balancer Controller, you can deploy the 2048 game using:
# Create the namespace
kubectl apply -f namespace.yaml
# Create the deployment and service
kubectl apply -f deployment.yaml
# Create the ingress
kubectl apply -f ingress.yamlAlternatively, you can use the command provided in 2048-app-deploy-ingress.md:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.5.4/docs/examples/2048/2048_full.yamlTo avoid incurring charges for resources you don't need, delete your EKS cluster when you're done:
eksctl delete cluster --name demo-cluster --region us-east-1The photos/ directory contains screenshots of the deployment process for reference.# EKS-deployment