Skip to content
/ eks Public

This repository documents my journey in mastering Amazon EKS and Kubernetes. It features deployment guides, troubleshooting tips, and AI-driven insights. You'll find Kubernetes manifests and real-world examples that showcase my ability to deploy scalable cloud apps, troubleshoot issues, and document the process clearly.

License

Notifications You must be signed in to change notification settings

Yoimer/eks

Repository files navigation

๐Ÿ“Œ Amazon EKS Cluster Deployment Guide

Welcome to the Amazon EKS Deployment Repository! This repository contains essential configurations and documentation for deploying and managing an Amazon EKS cluster. ๐Ÿš€


๐Ÿ“‚ Repository Structure

๐Ÿ“‚ Root/
โ”œโ”€โ”€ ๐Ÿ“‚ app/ ๐Ÿš€
โ”‚   โ”œโ”€โ”€ alb-ingress-iam-policy.json
โ”‚   โ”œโ”€โ”€ game-2048-ingress.yaml
โ”‚   โ””โ”€โ”€ game-2048.yaml
โ”œโ”€โ”€ โš™๏ธ cluster-config.yaml
โ”œโ”€โ”€ ๐Ÿ“– docs/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“œ guides/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿค– ai/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŸก claude/
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‘ claude-EKS_Node_Upgrade_Guide_1.27_to_1.28.md
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ”ต kimi/
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‘ kimi-EKS_Node_Upgrade_Guide_1.27_to_1.28.md
โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŸข chatgpt/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‘ chatgpt-EKS_Node_Upgrade_Guide_1.27_to_1.28.md
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‘ chatgpt-EKS_Upgrade_1.27_to_1.28.md
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ summaries/
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„ summary.md
โ”‚   โ””โ”€โ”€ ๐Ÿ› ๏ธ troubleshooting/
โ”‚       โ””โ”€โ”€ โŒ troubleshooting-vpc-cni-error.md
โ”œโ”€โ”€ ๐Ÿ“‚ images/
โ”‚   โ”œโ”€โ”€ game-2048-http.png
โ”‚   โ”œโ”€โ”€ game-2048-https.png
โ”‚   โ”œโ”€โ”€ eks-addons.jpg
โ”‚   โ””โ”€โ”€ eks-version.jpg
โ”œโ”€โ”€ ๐Ÿ› ๏ธ modifier-commit-messages.sh
โ”œโ”€โ”€ ๐Ÿ—’๏ธ original-commit-messages.txt
โ””โ”€โ”€ ๐Ÿ“– readme.md

๐Ÿ“œ EKS Default Addons (Pre-installed by AWS)

Amazon EKS automatically includes several default addons, even when not explicitly assigned in your manifests. These are crucial for the basic functionality and security of the cluster.

โœ… Pre-installed EKS Addons

  1. Amazon VPC CNI (aws-node) ๐Ÿ—๏ธ

    • Manages pod networking and assigns VPC IP addresses to pods.
    • Ensures efficient network performance within AWS.
  2. CoreDNS ๐ŸŒ

    • Handles DNS resolution for services within the Kubernetes cluster.
    • Essential for service discovery and pod communication.
  3. Kube Proxy ๐Ÿ”Œ

    • Maintains network rules on each node for inter-pod connectivity.
    • Implements Kubernetes services using IPTables/IPVS.

๐Ÿ”Ž Why are these addons pre-installed?

  • Network Connectivity: aws-node (Amazon VPC CNI) ensures pods receive proper networking and can communicate effectively within the AWS environment.
  • DNS Resolution: CoreDNS is required for internal name resolution inside the Kubernetes cluster.
  • Service Routing: kube-proxy enables efficient communication between services and workloads running within the cluster.

Although these addons are included by default, you can upgrade or modify them using the eksctl tool or AWS CLI.


๐Ÿš€ Getting Started

To deploy the EKS cluster using the provided configuration:

eksctl create cluster -f cluster-config.yaml

For addon management:

eksctl get addons --cluster minimal-eks-cluster

๐Ÿš€ Amazon EKS Deployment Guide

This repository contains Kubernetes configuration files, upgrade guides, and troubleshooting documentation for managing an Amazon EKS cluster. It is designed to help DevOps engineers deploy, upgrade, and maintain an EKS cluster efficiently.


๐Ÿ›  Features

  • EKS Cluster Configuration (cluster-config.yaml) โ€“ Defines the EKS cluster setup.
  • Upgrade Guides (EKS_Upgrade_1.27_to_1.28.md) โ€“ Step-by-step upgrade process from Kubernetes 1.27 to 1.28.
  • Troubleshooting (docs/troubleshooting/troubleshooting-vpc-cni-error.md) โ€“ Solutions for common EKS networking issues.
  • AI-Generated Insights (docs/guides/ai/) โ€“ Different AI-generated approaches for node group upgrades.
  • Commit Message Enhancer (modifier-commit-messages.sh) โ€“ Script to format commit messages consistently.

๐Ÿ— Installation & Setup

1๏ธโƒฃ Prerequisites

Ensure you have the following installed:

2๏ธโƒฃ Clone the Repository

git clone https://github.com/Yoimer/eks-repo.git
cd eks-repo

3๏ธโƒฃ Create an EKS Cluster

eksctl create cluster -f eks/cluster-config.yaml

4๏ธโƒฃ Verify the Cluster

kubectl get nodes

๐Ÿš€ Usage Guide

๐Ÿ›  Managing the Cluster

  • Check cluster nodes
    kubectl get nodes
  • Monitor cluster logs
    kubectl logs -f <pod-name>
  • View running services
    kubectl get svc -A

๐Ÿ”„ Upgrading Kubernetes Version

Refer to the Upgrade Guide for upgrading from 1.27 to 1.28.

๐Ÿ†˜ Troubleshooting

  • Networking issues? See Troubleshooting VPC CNI
  • Pod stuck in CrashLoopBackOff? Run:
    kubectl describe pod <pod-name>

๐ŸŽฎ 2048 Game Deployment on EKS

I have added a detailed guide for deploying the 2048 game on your EKS cluster. This guide includes instructions on how to deploy the game and run it efficiently on your Kubernetes cluster.

๐Ÿ“ Guide Details

Follow the steps in the respective guides to deploy the game and get it running on your EKS cluster.

๐Ÿค Contributing

We welcome contributions! To contribute:

  1. Fork this repository and create a new branch.
  2. Commit your changes using our commit format:
    git commit -m "feat: Updated EKS upgrade documentation"
  3. Submit a pull request and describe your changes.

For more details, check CONTRIBUTING.md.


๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™Œ Acknowledgments


With โค๏ธ from ๐Ÿ‡ป๐Ÿ‡ช

Happy Deploying! ๐ŸŽ‰

About

This repository documents my journey in mastering Amazon EKS and Kubernetes. It features deployment guides, troubleshooting tips, and AI-driven insights. You'll find Kubernetes manifests and real-world examples that showcase my ability to deploy scalable cloud apps, troubleshoot issues, and document the process clearly.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages