Skip to content

AWS EKS: upload a file to an S3 Bucket from a Kubernetes pod ⛴️

Notifications You must be signed in to change notification settings

assafdori/pod-to-s3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

codesnap

Overview: AWS EKS upload a file to an S3 Bucket from a Kubernetes pod ⛴️

Objective 🎯 : Create a Kubernetes deployment for a Python application that uploads a file to an S3 bucket.

Highlight 💡 : This is highly useful because we will need to create an IAM IRSA (IAM role for service account) and attach it to the pod appropriately.

Technologies 🛠️ :

  • Python
  • boto3
  • Docker
  • Kubernetes
  • EKS
  • IAM Services (roles, policies, IRSA)
  • Terraform

Steps 📝 :

  1. Create a Python application that uploads a file to an S3 bucket.
  2. Dockerize the application.
  3. Create a Kubernetes deployment for the Python application.
  4. Define all infrastructure as code (IaC) Terraform such as VPC, EKS, S3, IAM, Node Group, etc.
  5. Define all the required IAM services (role, policy, service account-IRSA) for the Kubernetes deployment.
  6. Initialize Git repository for version control.

Structure 🏗️ :

  • infrastructure/: Terraform code for creating the EKS cluster, S3 bucket, IAM services, etc.
  • kubernetes/: Kubernetes deployment for the Python application & service account.
  • python-app/: Python application that uploads a file to an S3 bucket.

Conclusion 📌 : This project is a great example of how to interact with AWS services from a Kubernetes pod. It is a great way to learn how to use IAM services and IRSA in Kubernetes.

About

AWS EKS: upload a file to an S3 Bucket from a Kubernetes pod ⛴️

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published